为了账号安全,请及时绑定邮箱和手机立即绑定

exports = module.exports = xxx这样的形式是何意?

exports = module.exports = xxx这样的形式是何意?

绝地无双 2023-05-01 11:07:08
很多人的Node.js代码里使用exports = module.exports = xxx这样的形式是何意?经常看到module文件里的最前面是这样的exports = module.exports = xxx这里的xxx只是泛指而不是指xxx这个名字本身。
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

在默认情况下,module.exports 是一个Object, exports 是 module.exports 的一个引用。 大多数人都是通过 exports.xx = yy 来输出。

当模块要输出一个非Object时(比如一个Function),可以使用 module.exports = function () {} ,此时 module.exports 被覆盖了,而 exports 还是原来的对像的引用,为了避免在后面的代码中仍然使用 exports.xx = yy 而导致不能正确输出,需要把 exports 变量也重新设置为新的 module.exports 的引用,所以一般习惯写成 exports = module.exports = xxx


查看完整回答
反对 回复 2023-05-04
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

最后发现无论什么情况,其实一个 module.exports=obj ;然后所有对象都挂在obj上,就可以搞定,感觉这样才是一个好习惯。 把exports覆盖了然后还重新定义然后再往上面增加值,我总觉得这么写有点多此一举的感觉。

查看完整回答
反对 回复 2023-05-04
  • 2 回答
  • 0 关注
  • 423 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信