首页 > web前端 > js教程 > 正文

如何在 Node.js 中导出模块:`module.exports` 与 `exports`?

Linda Hamilton
发布: 2024-11-18 01:22:02
原创
497 人浏览过

How to Export Modules in Node.js:  `module.exports` vs `exports`?

Node.js 中的模块导出:module.exports 与导出

Node.js 模块通过启用共享来促进代码重用和组织跨不同模块的功能和数据。模块导出的核心是两个关键术语:module.exports和exports。

什么是module.exports和exports?

  • module.exports : Node.js 向模块提供的对象;为其赋值可设置模块的导出接口。
  • exports: module.exports 的别名;对导出所做的修改反映在 module.exports 中。

为什么同时使用两者?

在提供的示例中,module.exports 和导出都用于保持向后兼容性。

默认情况下,module.exports 指向一个空对象。代码:

exports = nano = function database_module(cfg) {...}
登录后复制

添加一个函数nano到exports,并将引用分配给module.exports。这允许开发人员通过将函数分配给导出来导出函数,如下所示:

exports.someFunction = function() {...}
登录后复制

但是,当在一行中导出多个函数时,这种做法可能会导致问题:

exports.a = function() {
    console.log("a");
}
exports.b = function() {
    console.log("b");
}
登录后复制

在这种情况下,exports 对象会被重新分配,导致 module.exports 和exports 之间彻底分离。为了避免这种情况,显式分配对 module.exports 的引用。

最佳实践

  • 要导出多个值,请使用 module.exports。
  • 要导出单个值,请使用 module.exports 或导出。
  • 确保Exports 被视为对 module.exports 的引用。

以上是如何在 Node.js 中导出模块:`module.exports` 与 `exports`?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板