跨环境未设置NODE_ENV

时间:2019-04-15 09:29:48

标签: npm webpack

我想设置环境变量以在运行时配置URL。 我使用webpack捆绑了js,这是定义为在编译时使NODE_ENV可用的插件。

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

在这里yarn我要根据目标环境执行:

"test-kubernetes": "cross-env NODE_ENV=kubernetes-cluster webpack && yarn run testenv",
"build": "cross-env NODE_ENV=production webpack --mode=production",
"dev": "cross-env NODE_ENV=development webpack --mode=development && webpack-dev-server --hot",

但是process.env.NODE_ENV在运行时未定义。 这个问题似乎与cross-env有关,因为在Windows计算机上使用SET NODE_ENV=kubernetes-cluster而不是cross-env NODE_ENV=kubernetes-cluster可以使事情正常进行。

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

从5.2.0版开始,Windows环境开始回归。我设法使工作切换回5.1.6。 参考问题:https://github.com/kentcdodds/cross-env/issues/185