一尘不染

验证我的node.js实例是开发人员还是生产人员

node.js

现在,每当我要将node.js服务器部署到生产服务器时,都需要更改与数据库和外部API的各种连接的所有IP / DNS /用户名/密码。

这个过程很烦人,有没有办法验证当前正在运行的node.js实例是否在cloud9ide或实际上是我生产的快乐智能机中?

如果能够(在运行的代码中)确定node.js实例在哪台服务器上运行,我将添加一个条件,将值设置为prod或dev。

谢谢


阅读 215

收藏
2020-07-07

共1个答案

一尘不染

通常,您应该像这样在生产环境中运行节点应用程序:

NODE_ENV=production node app.js

带有Express,Socket.IO和其他功能的应用程序process.env.NODE_ENV用于确定环境。

在开发中,您可以忽略它,而只需使用即可正常运行该应用程序node app.js

您可以这样在代码中检测环境:

var env = process.env.NODE_ENV || 'development';
loadConfigFile(env + '.json', doStuff);
2020-07-07