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

时间:2011-12-19 09:05:32

标签: node.js express

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

这可能吗?

由于

1 个答案:

答案 0 :(得分: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
}