试图了解构造某些变量的最佳方法。例如,在我的Node.js Express应用程序中,我在app.js
中有以下内容:
var poolModule = require('generic-pool');
global.pools = {
/* ... */
};
pools
是我跟踪MySQL和Redis池的全局变量。我也想知道我是否可以用实际的Redis和MySQL对象(也许是configs变量)做同样的事情,所以我不需要在整个应用程序中要求它们。因为他们将被最多使用。
这是不好的做法,如果是,那么构建这种代码的更好方法是什么?
修改:添加了global.
答案 0 :(得分:1)
如果您需要文件,实际上您总是需要相同的对象。这意味着你可以做到:
module.exports = {
// same object for everybody that requires me
};
答案 1 :(得分:1)
您有正确的想法,但是您想使用module.exports
将对象导出为模块。 CommonJS方法是在模块中包含局部变量,并导出变量以在模块外部使用。通过这种方式,模块可以互相访问。变量通过使用require
。这些变量实际上并不是全球性的,但在某种程度上更像是"朋友" C ++中的类。实际上,您可以让poolModule为您存储变量 - 您可以在其中放置方法和其他功能,并使其在整个应用程序中可重用。