参考:

  1. 环境变量
  2. 多环境多份配置
  3. https://v2.umijs.org/zh/config/#define


我的需要:

  • 在不同环境(dvl、sit)下打包,申请根底地址也须要随环境的变动而扭转


遇到的艰难:

  • umi v3 文档不欠缺
  • 未知bug

1. 创立不同环境的配置文件

此局部可参考:

  1. 多环境多份配置


须要 dvl、sit 两个环境,因而创立两个配置文件,如图:

2. 配置须要的环境变量

此局部可参考:

  1. 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. 配置启动命令

此局部可参考:

  1. 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",  ...}