Ste*_*eve 5 heroku environment-variables node.js
在我的 index.js 代码中,我检查了 process.env.NODE_ENV 变量的值,并期望它是“生产”,但在 Heroku 上,该变量注册的值是“开发”。
我读过 Heroku 默认情况下将此值设置为“生产”,但由于某种原因,它仍然注册为“开发”,即使我在 Config Vars 下显式设置该值,它仍然显示它正在开发。以下是我的 index.js 文件中的条件:
if (process.env.NODE_ENV === 'production') {
// serve production assets...
} else {
// serve development assets...
}
Run Code Online (Sandbox Code Playgroud)
如果我将线路更改为...
if (process.env.NODE_ENV === 'development') {
Run Code Online (Sandbox Code Playgroud)
生产资源在 Heroku 上得到了很好的服务。
关于如何让 process.env.NODE_ENV 在 Heroku 上注册为“生产”,有什么想法吗?
编辑:
在我的 webpack.js 文件中我正在这样做......
const env = process.env.NODE_ENV;
const config = {
mode: env || 'development'
};
module.exports = {
// some code...
...config, // 'development' or 'production' mode
// more code...
}
Run Code Online (Sandbox Code Playgroud)
我确实尝试将此值硬编码为“生产”,如下所示......
mode: env || 'production'
Run Code Online (Sandbox Code Playgroud)
但这没有效果。
问题出在我的 webpack.js 文件上,特别是这段代码:
const env = process.env.NODE_ENV;
const config = {
mode: env || 'development'
};
Run Code Online (Sandbox Code Playgroud)
由于某种原因process.env.NODE_ENV被设置为“开发”。我已删除该config变量并将其替换为以下硬编码值:
mode: 'development'
Run Code Online (Sandbox Code Playgroud)
现在它起作用了。唯一的问题是我必须在部署到生产之前手动更改该值。
| 归档时间: |
|
| 查看次数: |
2671 次 |
| 最近记录: |