exports和module.exports的区别

require用来加载代码,exports和module.exports用来导出代码,两者的区别有3点:
(1)module.exports的初始值为一个空对象{}
(2)exports是指向的module.exports的引用
(3)require返回的是module.exports的而不是exports

注:我们经常看到这样的写法:exports = module.exports = somethings
其等价于:

module.exports = somethings
exports = module.exports

原理很简单,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exports 让 exports 重新指向 module.exports 即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容