乐趣区

关于前端:umi-项目多环境打包配置

参考:

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

退出移动版