exports 和 module.exports 的区别

2017-01-11  本文已影响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。

上一篇 下一篇

猜你喜欢

热点阅读