节点环境未设置?

Node Env not set?

这是一个普遍的问题,但我还没有找到我哪里出错了。 使用 Windows 服务器与 Azures kudu 独立托管本地项目。 还使用 React、Webpack、Redux

Windows 环境变量设置为生产 Package.json 已设置 NODE_ENV=production && 等.. 启动和构建脚本 web.config 有 iisnode node_env=production

运行节点我得到的node_env确实是production 然而,当我构建它时,当我做类似

的事情时,它会给我开发构建
if (process.env.NODE_ENV === 'production') {
  module.exports = require('./buildProduction.js')
}
else {
  module.exports = require('./buildDevelopment.js')
}

什么给了?

我得出了同样的结论并搜索了为什么会这样,感谢 neagtivetwelve 的评论@https://github.com/webpack/webpack/issues/1720

短设置

new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify('production'),
}),

修复了问题。而不是

 new webpack.DefinePlugin({
      'process.env.NODE_ENV': process.env.NODE_ENV,
    }),

即使我在构建脚本中设置会话 NODE_ENV var 并在系统环境 vars 中设置我仍然会得到错误的结果,直到进行此更改,即使从 cmd 打开节点并输入process.env.NODE_ENV 产生正确的结果。 无论如何,我希望它能帮助别人。