exports 和 module.exports
阿新 • • 發佈:2018-12-12
在每個模組中,module變量表示當前模組的物件的引用。module實際上不是全域性的,而是每個模組本地的。
建立foo.js
檔案
console.log(module);
console.log('---------華麗的分割線----------')
console.log(exports);
console.log('---------華麗的分割線----------')
console.log(module.exports === exports);
列印結果:
module.exports === exports
的結果是true。
exports其實就是module.exports的一個引用。
初始值均為一個空物件{}
module.exports.f = ...
exports.f = ...
如果exports變數被重新賦值,它將不會繫結到module.exports上
exports.f 相當於在到處物件上掛載屬性,該屬性對呼叫模組可見。
exports = 則是被重新賦值,
module.exports.hello = true; // Exported from require of module
exports = { hello: false }; // Not exported, only available in the module