美文网首页
exports 和 module.exports 的区别

exports 和 module.exports 的区别

作者: 开车去环游世界 | 来源:发表于2017-01-11 15:02 被阅读32次

exports 和 module.exports 的区别

1、module.exports 初始值为一个空对象 {}
2、exports 是指向的 module.exports 的引用
3、require() 返回的是 module.exports 而不是 exports

我们经常看到这样的写法:
exports = module.exports = somethings

上面的代码等价于:
module.exports = somethingsexports = module.exports

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

module.exports也可以像exports的用法那样,可以替代exports的用处。module.exports包含exports,反过来exports不能替代module.exports。

相关文章

网友评论

      本文标题:exports 和 module.exports 的区别

      本文链接:https://www.haomeiwen.com/subject/qhrrbttx.html