繁体   English   中英

运行多核计算机的Express js应用程序中的全局对象最佳实践

[英]Global objects best practices in express js application running multi core machines

我对在快速js应用程序中使用全局变量感到困惑,该应用程序将在多台核心机器上运行(可以使用pm2完成)。

这是我的方法

1)全局变量

global.db = new Sequelize('ICG_dev','root','root')

使用global.db访问其他文件

2)module.exports

module.exports.db = new Sequelize('ICG_dev','root','root');

使用访问其他文件

 const db = require ('db.js');

   db.get() 

如果我在多台核心计算机上运行应用程序,则上述两种方法的优缺点是什么?

您正在使用pm2在多核计算机上运行应用程序这一事实与该问题完全无关。 每个Node.js进程都是不同的。 pm2仅运行多个进程。 全局(和已加载的模块)将不会在这些进程之间共享。

因此,问题的实质是:拥有全局变量还是从其他模块可以通过require导入的模块中导出某些内容更好?

这取决于您,但是压倒性的是,我要说的是社区已沦落为:使用模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM