是否有更好的方法来构buildNode.js中的全局variables?

试图了解什么是构build一些variables的最佳方法。 例如在我的Node.js Express应用程序中,我在app.js有以下内容:

 var poolModule = require('generic-pool'); global.pools = { /* ... */ }; 

哪里的pools是我的全局variables,跟踪MySQL和Redis池。 我也想知道是否可以对实际的Redis和MySQL对象(也可能是configurationvariables)做同样的事情,所以我不必要求他们遍布整个应用程序。 而且因为他们将被使用最多。

这是不好的做法,如果是的话,什么是更好的方式来构build这种types的代码?

编辑:添加global.

如果你需要一个文件,你实际上总是需要相同的对象。 这意味着你可以这样做:

 module.exports = { // same object for everybody that requires me }; 

你有正确的想法,但你想使用module.exports作为一个模块导出你的对象。 CommonJS方法是在模块中有本地variables,并在模块之外使用导出的variables。 通过这种方式,模块可以通过使用require来访问彼此的variables。 这些variables并不是真正的“全局”,但在某种程度上更像C ++中的“朋友”类。 事实上,你的poolModule可以为你存储variables,你也可以把方法和其他function放在那里,并且可以在整个应用程序中重用。