2 回答

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

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
最后發(fā)現(xiàn)無論什么情況,其實(shí)一個(gè) module.exports=obj ;然后所有對象都掛在obj上,就可以搞定,感覺這樣才是一個(gè)好習(xí)慣。 把exports覆蓋了然后還重新定義然后再往上面增加值,我總覺得這么寫有點(diǎn)多此一舉的感覺。
- 2 回答
- 0 關(guān)注
- 472 瀏覽
添加回答
舉報(bào)