Node.js之模块化学习(2)

本文详细介绍了Node.js中的模块作用域,强调其防止全局变量污染的作用。通过module.exports和exports对象,可以对外共享模块内的成员。module.exports初始化为空对象,允许暴露模块属性;exports默认与module.exports相同,但最终引用以module.exports为准。为避免混淆,建议在同一模块中只使用一种导出方式。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值