在 Node.js 中的文件之间共享变量?

新手上路,请多包涵

这里有2个文件:

// main.js
require('./module');
console.log(name); // prints "foobar"

// module.js
name = "foobar";

当我没有“var”时,它可以工作。但是当我有:

// module.js
var name = "foobar";

名称将在 main.js 中未定义。

我听说全局变量不好,你最好在引用之前使用“var”。但这是全局变量好的情况吗?

原文由 never_had_a_name 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

全局变量 几乎 从来都不是一件好事(可能有一两个例外……)。在这种情况下,看起来您真的只想导出您的“名称”变量。例如,

 // module.js
var name = "foobar";
// export it
exports.name = name;

然后,在 main.js 中……

 //main.js
// get a reference to your required module
var myModule = require('./module');

// name is a member of myModule due to the export above
var name = myModule.name;

原文由 jmar777 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题