![](/img/trans.png)
[英]node.js & express - global modules & best practices for application structure
[英]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.