nodejs有幾個沒有定義可是卻存在的變量,其中兩個是:module、exports。
module變量是模塊對象自身,exports是在module的構造函數中初始化的一個空對象({},而不是null)。node
即函數
exports = module.exports = {};
這兩個的關係爲: exports是指向module.exports的引用,只有指向同一內存,二者纔有聯繫。ui
module.exports指向內存改變,exports也會改變;code
exports添加新屬性,就是給module.exports添加新屬性;對象
若是直接對exports進行覆蓋,exports就指向了和module.exports不一樣的內存。require後報錯,是由於require返回的是module.exports,而此時module.exports仍指向了空對象;內存