6

我想将我的 Node 应用程序拆分为几个单独的文件,以使其更加模块化且更易于维护。

但由于无法像 PHP 等其他语言那样将文件直接“包含”到当前解析的文件中,因此我的“模块”或“单独文件”不会自动访问脚本中定义的“需要”变量他们。

我怎样才能做到这一点?

我正在考虑在我的单独文件中做这样的事情:

module.exports = function(stuff) {
  //I now have access to 'stuff'.
}

但这有点麻烦。

我确定有人在我之前已经解决了这个问题,所以......你有什么建议?

4

1 回答 1

2

跨模块共享变量的最简单方法是将变量分配给全局命名空间对象。在浏览器中声明它们如何全局声明的变量在 Node 中仍然是特定于模块的,因此存在一个global对象。

使用全局范围被认为是不好的做法,但比其他方法要简单得多:

foo.js

global.num = 3;
global.str = 'a string';
require('./bar');

bar.js

console.log(num);  // 3
console.log(str);  // a string
于 2013-09-24T14:41:32.970 回答