“module.exports = something”或“module.exports.property = something”?

问题描述

我对 NodeJS 中 module.exports 的最佳用法感到非常困惑。

我发现有时会重新分配 module.exports,甚至多次。其他时候,module.exports 被分配了属性(命名为导出),并被分配了要导出的代码

我不明白为什么有人应该重新分配 module.exports 而不是在其中创建一个属性并将其分配给需要导出的任何代码段。我认为这会更干净/有序。

我检查了 NodeJS docs about module.exports,但没有看到任何关于此的解释。

我认为,如果在某些代码中初始化了一个空对象,则旨在将属性添加到其中,而不是重新分配。因此,应用这个逻辑,如果在 Module object entry script 中有一个标准的 exports 属性初始化为一个空对象,我觉得它应该用于在其中添加属性,而不是重新分配键 { {1}} 到别的东西。但是我在文档的代码片段中看到 exports 被重新分配,所以我肯定遗漏了一些东西。

答案:

根据 nodejs.dev 上的文档,而不是我今天早上最初查看的 nodejs.org,关于如何使用导出从 Node.js 文件公开功能

您可以通过 2 种方式执行此操作。首先是分配一个对象 module.exports 这将使您的文件仅导出该对象。 第二种方法是将导出的对象添加module.exports属性。 这种方式允许您导出多个对象、函数或数据。

所以,exports的赋值只有在开发者以后不需要导出其他东西的时候才进行。

另外,需要注意的是,Node 将每个文件视为一个本地模块,因此在一个文件中重新分配 module.exports,并在另一个文件中执行相同操作,不会产生任何冲突。我在阅读文档时并没有立即清楚这一点。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)