首页 > 解决方案 > 跨环境未设置 NODE_ENV

问题描述

我想设置环境变量以在运行时配置 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_ENVundefined运行时。这个问题似乎与跨环境有关,因为使用:

SET NODE_ENV=kubernetes-cluster

代替

cross-env NODE_ENV=kubernetes-cluster

在我的 Windows 机器上,一切正常。

任何想法?

标签: npmwebpack

解决方案


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


推荐阅读