
1-内置模块。由Node.js提供,如fs,http,path等。
2-自定义模块。用户创建后缀名为。
3-第三方模块。由第三方开发出来的,使用需要下载。
//1.加载内置模块
const fs = require('fs');
//2.加载用户的自定义模块
const js = require('./1');
// 3.加载第三方模块 使用前需要下载
const moment = require('moment');
// 注意: 使用require()方法加载其他模块时,会执行被加载模块中的代码
模块作用域 和函数作用域类似,在自定义模块中的变量,方法等成员,只能在当前模块级别内被访问,这种模块级别的访问限制,叫做模块作用域。好处:防止了全局变量污染的问题。 module对象 在每个.js自定义模块中都有一个module对象,里面存储了和当前模块有关的信息
module.exports对象
在自定义模块中,可以使用module.exports对象,将模块内的成员共享出去,供外界使用。
外界用require()方法导入自定义模块时,得到的是module.exports 所指向的对象。
- == 导出当前模块里面的方法集合
== 每个模块里面天生有一个对象叫做module
== 这个对象里面添加有一个成员叫exports,默认是一个空对象
== 到其他文件导入本文件的时候
== 其实获取到的就是本文件的module.exports
== 如果我希望自己方法可以被别人使用
== 我就把这个方法放到module.exports对象里面
使用require()方法导入模块时,永远以Module.exports指向的对象为准。
exports对象 由于module.exports单词写起来复杂,Node提供了exports对象.默认情况下exports和module.exports指向同一个对象,还是以module.exports指向的对象为准。
exports 和module.exports的使用误区 注意:require()模块时,得到的永远是module.exports指向的对象
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)