之前在使用子產品時,還沒有發現可以通過exports直接指派,公開變量或者函數。其實,exports就像是module.exports的引用變量,而module.exports直接就相當于堆記憶體位址,是以,在最開始的時候,exports是指向module.exports的,即exports= module.exports={},而且預設傳回的是module.exports。
- 驗證預設傳回的module.exports
建立一個js檔案a.js,内容如下:
var key = 100;
exports =key;
module.exports=key;
return exports;
得到的列印結果如下:在執行exports =key;時,即 你把key值指派給exports 列印出來的是空,但是,在執行module.exports=key;時,列印出來的是key的值

- exports 和module.exports關系的驗證
1.在你給exports,指派變量或者函數時,module.exports是可以取到exports添加的變量和函數的
var key = 100;
exports.key =key;
///module.exports=key;
return exports;
列印出來的結果如下:說明你在給exports做指派操作時,module.exports是可以擷取到exports的操作内容的。
2.在同時對exports和module.exports做指派操作時,exports的指派操作是無效的。
var key = 100;
exports.key =key;
function testFunc (argument) {
console.log(argument);
};
module.exports = {
testFunc:testFunc
};
return exports;
列印的結果如下:發現我再給module.exports指派時,exports的指派操作在module.exports中沒有展現出來。