1、Node.js中的模块作用域:
对模块的访问限制,可以防止全局变量污染
2、向外共享模块作用域中的成员:
1、module对象:在每个.js自定义的模块中都有一个module对象,它里边存储了和当前模块有关的信息。
module.exports={} ,空对象,可以将模块内部的属性暴露出去,供外部使用
在外界使用require导入一个自定义模块的时,得到的就是module.exports所指的对象
module.export.username='aaa' //在module.export对象上挂载username属性
导出的内容是:{username:'aaa'}
共享成员时的注意点:
使用require()方法导入模块时,导入的结果,永远以module.exports指向的对象为准
3、exports对象
Node提供的exports对象,默认情况下,exports和module.exports指向同一个对象,共享的结果,永远以module.exports指向的对象为准
exports = module.exports = {};
4、exports和module.exports的使用误区
时刻谨记:require()模块时,得到的永远是module.exports指向的对象
为了防止混乱,建议不要在同一个模块中同时使用exports 和module.exports