在Node.js中是否有更好的方法来构造全局变量?
试图了解构造某些变量的最佳方式。例如,在我的Node.js Express应用程序中,在Node.js中是否有更好的方法来构造全局变量?,node.js,Node.js,试图了解构造某些变量的最佳方式。例如,在我的Node.js Express应用程序中,app.js中有以下内容: var poolModule = require('generic-pool'); global.pools = { /* ... */ }; 其中,pools是我的全局变量,用于跟踪MySQL和Redis池。我还想知道我是否可以对实际的Redis和MySQL对象(可能还有配置变量)做同样的操作,这样我就不必在整个应用程序中都需要它们了。因为它们将被最多地使用 这是一种不好的做法
app.js
中有以下内容:
var poolModule = require('generic-pool');
global.pools = {
/* ... */
};
其中,pools
是我的全局变量,用于跟踪MySQL和Redis池。我还想知道我是否可以对实际的Redis和MySQL对象(可能还有配置变量)做同样的操作,这样我就不必在整个应用程序中都需要它们了。因为它们将被最多地使用
这是一种不好的做法吗?如果是的话,构造这种代码的更好方法是什么
编辑:添加了
全局。
如果您需要一个文件,您实际上总是需要相同的对象。这意味着你可以:
module.exports = {
// same object for everybody that requires me
};
您的想法是正确的,但您希望使用
module.exports
将对象导出为模块。CommonJS方法是在模块内使用局部变量,在模块外使用导出变量。通过这种方式,模块可以通过使用require
访问彼此的变量。这些变量并不是真正的“全局”,但在某种程度上更像是C++中的“朋友”类。事实上,你可以让你的poolModule为你做的不仅仅是存储变量——你也可以把方法和其他功能放在其中,让它在整个应用程序中可重用。谢谢你的解释,我想我现在明白了!