我很困惑在我的快速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()
如果我在多个核心机器上运行我的应用程序,上述两种方法的优缺点是什么
答案 0 :(得分:2)
您在使用pm2的多核计算机上运行应用程序的事实与此问题完全无关。每个Node.js进程都是不同的。 pm2只运行多个进程。全局(和加载的模块)将不会在这些进程之间共享。
所以问题是:拥有全局变量或从其他模块可以通过require
导入的模块中导出某些东西更好吗?
这取决于你,但绝大多数情况下,我说社区已经站在了一边:使用模块。