Node.js & module.exports & exports All In One
Node.js & module.exports & exports All In One
exports & module.exports
- Functions and objects are added to the root of a module by specifying additional properties on the special exports object.
module.exports & exports
CJS Modules
// CJS Modules
/*
exports.a = 1;
exports.b = 2;
exports.c = 3;
exports.d = 4;
// exports = { a: 1, b: 2, c: 3, d: 4 }
*/
exports.a = 1;
exports.b = 2;
module.exports = { c: 3 };
module.exports.d = 4;
// module.exports = { c: 3, d: 4 }
conclusion
module.exports
🚀
-
exports
just shorthand ofmodule.exports
👻 -
if exist both
exports
&module.exports
,module.exports
will be overwrittenexports
⚠️ -
best practice, just using
module.exports
as possible as you can ✅
exports.a = 1;
exports.b = 2;
module.exports = { c: 3 };
module.exports.d = 4;
// module.exports = { c: 3, d: 4 }
console.log(module);
exports.a = 1;
exports.b = 2;
module.exports = { c: 3 };
module.exports.d = 4;
// module.exports = { c: 3, d: 4 }
module.exports.hello = true; // Exported from require of module
exports = { hello: false }; // Not exported, only available in the module
console.log(`hello =`, exports);
console.log(module);
结论
Exports 只是 module.exports 的简写 👻
如果同时存在exports和module.exports,则module.exports将被覆盖exports⚠️
最佳实践,尽可能使用 module.exports
demos
(🐞 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!
refs
https://www.cnblogs.com/xgqfrms/p/9493550.html
https://www.hacksparrow.com/nodejs/exports-vs-module-exports.html
https://www.freecodecamp.org/news/node-js-module-exports-vs-exports-ec7e254d63ac/
https://www.w3schools.com/nodejs/nodejs_modules.asp
©xgqfrms 2012-2021
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/11452098.html
未经授权禁止转载,违者必究!