node.js中可以使用module.exports和exports兩種方式導出模塊中的接口。
兩者的關係如下:
exports = module.exports;
exports是modle.export的引用,因此exports的屬性修改會與module.exports同步,但是如果直接給exports賦值,則exports對module.exports的引用就會被重置,導出的接口就會失效。
例如:
exports = {
name:"koastal",
age:24
};
該模塊不會導出任何數據,引用結果爲{}
,因爲exports對module.export的引用已經被重置到新的對象了。
個人覺得良好的使用習慣是不使用exports,全部使用module.exports,會避免不少麻煩。