Node.js 02 IDEA辅助开发&&模块化介绍

2.1 IDEA 怎么使用 Node.js


  1. 配置 Node.js 的环境

在这里插入图片描述
随便新建一个 项目,然后 写 js 文件 就可以 直接运行 了。

可能 还需要 勾选一下 下面的 辅助开发 选项,这样才能 更好的开发。因为有 智能提示 和 补全功能。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


2.2 模块化的介绍

就是把一个 大的功能块,分解成 一个一个 小的 功能块。这就叫 模块化。其实 在 学 C/C++ 的时候,特别是 C语言,我们 就一直 在 写 模块化!即 模块化编程。也是最接近于 计算机 原本思想的。模块化 起到了 一定解耦的作用,还方便我们 复用代码。

为了用 js 更好的实现 模块化,有人 就提出了 CommonJS 规范。

  • CommonJS 规范的提出,主要就是为了 弥补当前 js 没有模块标准的缺陷。
  • CommonJS规范为 JS 指定了一个美好的愿景。
  • CommonJS 对模块的定义还十分的简单【模块引用】、【模块定义】、【模块标识】。

Node.js 完全支持 CommonJS 的规范

  • 模块定义:每个 js 文件 都是一个模块。
  • 模块标识:每个 js 文件的 文件名,或者说 文件的路径,就是 模块的标识。
  • 模块引用:直接 用 require(模块标识) 就能 引用进来。

在这里插入图片描述

但是 这里的话,Node.js 对每个模块 都有一个 特殊的限制或者叫做特殊的想法和处理。就是 它把每个js 文件当成一个模块,实现了模块化!但是 这样的话,是不是就相当于 每个模块都类似于 一个 独立的个体或者说叫对象呀!

也就是说 我们 稍作变更。比如说 让 require() 函数返回一个 模块对象,那是不是 就实现了 面向对象的思想了?

让 require() 返回 一个 对象。这个对象 就是 你引入的那个模块。然后 这个 对象 里面的 所有方法 和 属性,默认 都是 私有的。

还有人说 是 每个js 文件 默认 闭包的,即 有一个 咱们看不到的 隐形的 一个 class{} 或者是 function{} 将 js 文件里面的内容 包含进去了。你无法 直接 的 通过 返回的 这个 对象 去 拿到里面的内容。

  • 问题①:如果是类似于 类和 对象。那么 为什么 console.log() 还能输出呢?还能被执行呢?

答:因为 这个 console.log 是直接 暴露在 js文件里的。也就是 它 没有任何的方法 和 属性 进行 封装,那它不就是 直属于 这个 模块嘛。当然 是 引入的时候,就会被 调用了。跟 static{} 和 {} 初始化 代码块 是 一样的 道理。

看下 默认 闭包的效果

在这里插入图片描述
在这里插入图片描述
你会发现 什么都没有,因为 默认闭包。

直接 exports.属性名/方法名 就可以 实现 对外开放

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值