我想设置环境变量来在运行时配置 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 有关自从使用以来:
SET NODE_ENV=kubernetes-cluster
而不是
跨环境 NODE_ENV=kubernetes-cluster
在我的 Windows 机器上一切正常。
有什么想法吗?
最佳答案
自 5.2.0 起,Windows 环境出现了回归。我设法让一切正常切换回 5.1.6。 引用问题:https://github.com/kentcdodds/cross-env/issues/185
关于npm - cross-env 未设置 NODE_ENV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686215/