发布于 

Node.js的加载方法

加载其它模块,使用require()方法:

1
2
3
4
5
//加载内置的fs模块
const fs = require('fs') //必须加单引号
//加载用户自定义模块
const cistom = require('./cistom.js')
//加载第三方模块(关于第三方模块的下载和使用,会在后面的课程中进行专门的讲解)

注:使用require()方法加载其它模块时,会执行被加载模块中的代码

向外共享模块作用域中的成员:

module对象:

1
在每个 .js 自定义模块中都有一个module 对象,它表示当前这个具体的.js 模块。module 对象上存储了和当前模块有关的信息

module.exports 对象:

1
2
3
4
5
6
7
在自定义模块中,可以使用module.exports 对象,将模块内的成员共享出去,供外界使用。
外界用 require() 方法导入自定义模块时,得到的就是module.exports 所指向的对象。
Eg:
module.exporst{
...

}

exports对象:

1
exports 是对 module.exports 的引用,默认情况下,exports 和 module.exports 指向同一个对象。使用exports 向 外共享成员更加方便。

exports 和 module.exports 的使用误区:

1
时刻谨记,require() 模块时,得到的永远是module.exports 指向的对象:

注:为了防止混乱,建议大家不要在同一个模块中同时使用exports 和 module.exports

杂:

1
2
3
4
5
Node.js 遵循了 CommonJS 模块化规范,CommonJS 规定了模块的特性和各模块之间如何相互依赖。
CommonJS 规定:
① 每个模块内部,module 变量代表当前模块。
② module 变量是一个对象,它的exports 属性(即 module.exports)是对外的接口。
③ 加载某个模块,其实是加载该模块的module.exports 属性。require() 方法用于加载模块。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。