【发布时间】:2015-05-03 09:21:51
【问题描述】:
我有两个模块,它们都需要访问一个共享数组。我通过一个只包含以下内容的模块来解决这个问题:
sharedArray.js
module.exports = [];
在模块中我是这样使用的:
module1.js
var arr = require('./sharedArray');
function addSomething() {
// Add something to arr
}
module2.js
var arr = require('./sharedArray');
function doSomething() {
// Use arr for something
}
这可行,但感觉不对(无用的空模块),而且我遗漏了一些明显的东西。
有没有更好的方法,或者这实际上是你解决它的方法?
【问题讨论】:
-
这只是 Node.js 使用的标准机制。它有什么问题?
-
我更新了我的问题。基本上,为此制作一个或多或少为空的文件和模块感觉很奇怪。我从未见过其他人这样做。
-
我以前做过,以避免循环依赖。请务必清楚地命名您的模块和/或发表评论,说明它用于什么数据,也许还有一些数据消费/生产模块的示例。
-
这样做没有错。
-
好的,谢谢。我只想再次指出,该文件只不过是
module.exports = []。这不仅仅是这里的例子。我认为这让我三思而后行,也许它甚至不应该是一个单独的模块,因为它不包含任何初始数据。
标签: javascript node.js