2011-12-19 71 views
7

我使用的是Express.js Node.js的,我需要共享模块之间的变量,我必须这样做,因为这个变量是MySQL连接池,该池在创建节点开始3个MySQL连接。 js然后我希望其他模块将使用这些连接而不重新创建其他池。如何在模块之间共享相同的变量?

这可能吗?

感谢

回答

11

有2个选项:

  • 作出这样的变量是全球性的,为前:global.MySQL_pool = ...。通过这种方式,您可以使用MySQL_pool作为变量来访问它。
  • 传为每个在你需要它的功能PARAM,为前模块:

    VAR MySQL_pool = ... VAR my_db_module =需要( './ DB')(MySQL_pool);

其中db.js是:

module.exports = function (pool) { 
    // access the MySQL pool using the pool param here 
}