Joe*_*Joe 6 batch-file node.js
当我处于开发模式时,我不希望服务器发送电子邮件和其他内容,因此我在server.js文件中有此文件:
process.env.NODE_ENV = 'development';
Run Code Online (Sandbox Code Playgroud)
当我将其移至生产时,我将值更改为“生产”。
问题当然是在部署中很容易忘记。是否可以通过某种方式检测服务器何时投入生产?
如果不是,是否可以编写一个批处理脚本来替换文件中的字符串?
Sla*_* II 12
您不应该手动更改process.env
对象的值,因为该对象反映了您的执行环境。
在您的代码中,您应该执行以下操作:
const environment = process.env.NODE_ENV || 'development';
Run Code Online (Sandbox Code Playgroud)
然后您在生产中启动您的应用程序,如下所示:
$ NODE_ENV=production node app.js
Run Code Online (Sandbox Code Playgroud)
如果NODE_ENV
没有设置环境变量,则默认设置development
为环境变量。
您还可以在开发中使用dotenv
模块来指定文件中的所有环境变量。
此外,我还实现了一个可重用模块,它允许通过分析 CLI 参数和 NODE_ENV 变量来自动检测环境。这在您的开发机器上可能很有用,因为您可以通过将 CLI 参数传递给 Node.js 程序来轻松更改环境,如下所示$ node app.js --prod
:与 Gulp: 一起使用也很好$ gulp build --prod
。
detect-environment
请参阅该页面上的更多详细信息和用例。
归档时间: |
|
查看次数: |
4707 次 |
最近记录: |