nodejs 中 exports 和 module.exports 的关系

exports 与module.exports 是nodejs中用来导入导出模块的指令,但是连两者的关系比较复杂,这里简单总结一下

  • 每个模块都有一个module对象;
  • module对象中有一个exports对象;
  • 我们可以把对象需要把导出的成员挂载到module.exports接口对象中;
  • 也就是:module.exports.xxx = xxx的方式;
  • node在每一个模块中都提供了一个成员叫做:exports并且exports === module.exports结果是true
  • 所以对于module.exports.xxx = xxx可以简化为exports.xxx === xxx
  • 当一个模块需要导出单个成员的时候,必须使用module.exports === xxx的方式,不要使用exports === xxx,因为每个模块最终向外return的是module.exports,而exports只是一个引用;
  • 所以即使给exports = xx 重新赋值,也不会影响module.exports,除了很暴力的直接把exports = module.exports,直接重新建立引用关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ldz_miantiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值