![](/img/trans.png)
[英]Webpack: -p vs NODE_ENV=production vs process.env.NODE_ENV
[英]does process.env.NODE_ENV sets to 'production' automatically?
我正在阅读某人的代码并遇到了这一行。
if (process.env.NODE_ENV === 'production') { ...
这是一个带有快速服务器和 reactjs 前端的 node.js 应用程序。 因此,假设我们将它部署到 heroku,它会自动获得这个 NODE_ENV 变量(或由 heroku 本身设置)还是我必须在我们在开发服务器中设置其他环境变量时手动设置它?
如此处所述,如果您将 NODE_ENV 部署在 Heroku 上,则默认设置为生产: https ://devcenter.heroku.com/articles/nodejs-support#runtime-behavior
process.env 指的是系统上的环境变量。 这在很大程度上取决于应用程序运行的位置以及系统的配置方式。 Herocku 不知道您的应用程序的特定版本是在测试中还是在生产中。 因此,开发人员定义了一个环境并在该环境中添加了“生产”作为变量。
如果您使用 npm,您可以使用脚本命令添加变量
{
..
"scripts": {
"dev": "corss-env ENVIRONMENT=development ..",
"prod": "cross-env ENVIRONMENT=production .."
}
..
}
并根据设置使用适当的命令运行。
在 Heroku 的项目中,您可以设置所有环境变量。 进入您的项目 > 设置 > 配置变量并设置 NODE_ENV 生产。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.