我的代码的几乎每个文件都需要库(mongo、async ...)和一些核心函数。据我所知,加载模块是一个昂贵的过程。另外,在每个文件中多写 x 行代码是一件痛苦的事情。
那么在应用程序启动时要求它一次不是更聪明吗?
我知道全局变量通常不好,但在这种情况下它有多糟糕?
最佳答案
使用全局变量总是一个坏主意(故意大写),因此您应该留意其他解决方案。
由于模块在加载时会被缓存,因此它们不会太昂贵。执行一次还是多次都没有关系。
所以最简单的方法是在任何需要的地方require
一个模块。
现在,有时模块需要一些配置。然后你需要确保这是在第一次加载模块时完成的。为此,创建一个像这样的包装器模块:
var foo = require('foo');
foo.configure(options);
// Or do whatever you need to do here to configure foo.
module.exports = foo;
现在你可以像这样使用它:
var configuredFoo = require('./configuredFoo');
这应该可以解决问题。
关于node.js - 在nodejs中使用全局变量有多糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30245811/