很多人的Node.js代碼里使用exports = module.exports = xxx這樣的形式是何意?經??吹絤odule文件里的最前面是這樣的exports = module.exports = xxx這里的xxx只是泛指而不是指xxx這個名字本身。
2 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
在默認情況下,module.exports 是一個Object, exports 是 module.exports 的一個引用。 大多數人都是通過 exports.xx = yy 來輸出。
當模塊要輸出一個非Object時(比如一個Function),可以使用 module.exports = function () {} ,此時 module.exports 被覆蓋了,而 exports 還是原來的對像的引用,為了避免在后面的代碼中仍然使用 exports.xx = yy 而導致不能正確輸出,需要把 exports 變量也重新設置為新的 module.exports 的引用,所以一般習慣寫成 exports = module.exports = xxx

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
最后發現無論什么情況,其實一個 module.exports=obj ;然后所有對象都掛在obj上,就可以搞定,感覺這樣才是一個好習慣。 把exports覆蓋了然后還重新定義然后再往上面增加值,我總覺得這么寫有點多此一舉的感覺。
- 2 回答
- 0 關注
- 476 瀏覽
添加回答
舉報
0/150
提交
取消