Node.js & module.exports & exports
阅读原文时间:2023年07月08日阅读:5

Node.js & module.exports & exports

https://www.cnblogs.com/xgqfrms/p/9493550.html

exports & module.exports

  1. Functions and objects are added to the root of a module by specifying additional properties on the special exports object.

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 }

结论

  1. exports just shorthand of module.exports

  2. if exist both exports & module.exports, module.exports will be overwritten exports

  3. 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);

https://www.sitepoint.com/understanding-module-exports-exports-node-js#whatsthedifferencebetweenmoduleexportsandexports

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-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!