在nodejs模块定义时候,需要使用module.exports
或者exports
来导出本模块定义的一些内容。大部分情况下module.exports
与exports
等效。之前了解过几次,也忘了几次。在这里再记录一次,以便随后再忘。
module.exports
与exports
都指向一个空对象。
往这个空对象里装一些东西,这些东西就会被模块导出。
例如添加exports.foo = "bar"
和 module.exports.baz = "boz"
导出对象就是{foo: "bar", baz: "boz"}
但是但是…
我们仅仅想让模块导出一个函数呢?
exports = function () {/* ... */}
和
module.exports = function () {/* ... */}
是不一样的。情况就是下图这样的:
模块导出的是一个空对象。
所以不管怎么样,用module.exports
一定不会错的。