-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] config中设置define后,命令行中设置的环境变量在app.tsx中无法找到 #8329
Comments
|
我知道啊,仔细看我说的内容啊 |
提供一个复现的demo 我们看看 |
https://codesandbox.io/s/unruffled-surf-kg9f41 |
在 umi4 中, // .umirc.ts
define: {
REACT_APP_ENV: process.env.REACT_APP_ENV
} // app.tsx
console.log(REACT_APP_ENV) 如果不在 |
然而在umi3中,REACT_APP_ENV在所有环境都生效了,umi4反到不行了? |
试了下, 1、umi 3 和 umi 4 这个行为是一致的 |
楼主 应该是按照 ant Design Pro 官网环境变量的方式 配置 出现的问题 确实 是 umi3 中,REACT_APP_ENV在所有环境都生效了,umi4不行,只能换写法了 |
@zhangheng0317 解决方式
最重要的一点是,start 时必须指定 REACT_APP_ENV=local ,umi3 的话 可以不指定 ,在 define 中 配置默认值即可,但是 umi4 会覆盖(是基于 pro 的覆盖),覆盖的值也是有问题,覆盖了一个false ,正常应该是覆盖一个 undefined
这样的话,代码修改量最少 |
What happens?
umi4版本
在config.ts中开启define并设置了一个环境变量。
然后在启动命令行中设置变量
REACT_APP_ENV
cross-env REACT_APP_ENV=dev UMI_ENV=dev max dev
启动后在config.ts中可以获取到REACT_APP_ENV
但是在app.tsx中找不到
REACT_APP_ENV
,这个问题在umi3+是好使的我尝试关闭define后,app.tsx中可以正确读取到
REACT_APP_ENV
Context
The text was updated successfully, but these errors were encountered: