如何在模块之间共享相同的变量?

Dai*_*ail 7 node.js express

我正在使用带有Express.js的Node.JS,我需要在模块之间共享一个变量,我必须这样做,因为这个变量是一个mysql连接池,这个池在Node.js的开头创建3个Mysql连接,然后我希望其他模块将使用这些连接而无需重新创建其他池.

这可能吗?

谢谢

ale*_*lex 11

有两种选择:

  • 将该变量设为全局变量,例如:global.MySQL_pool = ....这样,您可以通过使用MySQL_pool变量来访问它.
  • 将它作为函数参数传递给您需要它的每个模块,例如:

    var MySQL_pool = ... var my_db_module = require('./ db')(MySQL_pool);

其中db.js是:

module.exports = function (pool) {
  // access the MySQL pool using the pool param here
}
Run Code Online (Sandbox Code Playgroud)