npm - 跨环境未设置 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_ENV
在undefined
运行时。这个问题似乎与跨环境有关,因为使用:
SET NODE_ENV=kubernetes-cluster
代替
cross-env NODE_ENV=kubernetes-cluster
在我的 Windows 机器上,一切正常。
任何想法?
解决方案
从 5.2.0 开始,Windows 环境出现了回归。我设法让工作切换回 5.1.6。参考问题:https ://github.com/kentcdodds/cross-env/issues/185
推荐阅读
- python - 加载模型时没有 GPU 的机器上的 Cuda 驱动程序错误
- python - 在 python 中使用神经网络进行主因子分析
- r - R闪亮有没有办法连接输入所采用的所有值
- django - django 从其他 python 脚本上传文件
- node.js - 在 nodejs 中使用不同的主机制作 API
- javascript - 如何从网站中的用户名和密码生成令牌
- python-3.x - Python:将数组添加为新列,其中包含每行的 x-previous 值
- angular - 如何使用“测试库”测试私有方法/声明
- python - 未使用 Form DTL 将数据插入 Django 数据库
- powershell - 通过 vmware API 运行 powershell 时获取退出代码 0x80131029