参考:
- 环境变量
- 多环境多份配置
- https://v2.umijs.org/zh/config/#define
我的需要:
- 在不同环境(dvl、sit)下打包,申请根底地址也须要随环境的变动而扭转
遇到的艰难:
- umi v3 文档不欠缺
- 未知bug
1. 创立不同环境的配置文件
此局部可参考:
- 多环境多份配置
须要 dvl、sit 两个环境,因而创立两个配置文件,如图:
2. 配置须要的环境变量
此局部可参考:
- https://v2.umijs.org/zh/config/#define
.umirc.dvl.ts
import { defineConfig } from 'umi';export default defineConfig({ define: { // dvl 环境的申请根底地址 'process.env.REQUEST_BASE_URL': 'http://xxx.xxx.xx.xx:8080' }});
.umirc.sit.ts
import { defineConfig } from 'umi';export default defineConfig({ define: { // dvl 环境的申请根底地址 'process.env.REQUEST_BASE_URL': 'http://xxx.xxx.xx.xx:8080' }});
3. 配置启动命令
此局部可参考:
- https://v2.umijs.org/zh/config/#define
如果依照 umi v3 文档中 https://umijs.org/zh-CN/docs/env-variables 说的配置,可能会呈现以下谬误,大抵报错信息如下:
get user config failed, undefined does not exist
须要装置 cross-env,在 package.json 配置如下命令:
{ ... "build:dvl": "cross-env UMI_ENV=dvl umi build", "build:sit": "cross-env UMI_ENV=sit umi build", ...}