zl程序教程

您现在的位置是:首页 >  其他

当前栏目

umi4 多环境配置改变

2023-02-19 12:28:51 时间

umi3 多环境我们可以根据脚本配置环境变量,然后配置不同的umirc 或者config 文件,从而达到配置多环境的效果。

问题描述

umi4 发布了,还是按照umi3 的配置了多环境,

package.json 配置 了不同环境运行和编译脚本:

config文件夹配置了不同环境对应文件:

发现在umi4 里有一个奇怪的现象,不论用哪个环境脚本运行,都走dev 环境变量。编译的时候都走prod 配置文件环境变量。

分析原因

看了下umi4 官方文档描述如下:

https://umijs.org/docs/guides/env-variables#umi_env

按照这个逻辑,执行uat 脚本应该会走uat 的配置文件,但是现在走的是dev 的呢?

发现删除了dev 这时候uat生效了。

再看备注的意思,意思是这三个环境变量根据环境自动设置,不能用脚本指定,运行时候如果设置了dev 会自动加载,编译会加载prod。

所以这三个名字不能用,然后换了名字,果然生效了。

问题解决

不使用dev/test/prod 配置名称。

这样就可以了。

吐槽

没有研究为什么这么设计,但是作为用户我感觉这么设计有两个缺点:

1、umi3 用户过渡不平滑、且文档第一时间没看懂 2、dev、test、prod 环境变量很常用,为什么设置?