经验分享
UmiJS中环境变量的配置与使用
本文主要解决umijs在不同环境中读取不同变量
2024-01-04 10:23:00
33

主要为解决.umirc.ts文件中basepublicPath根据不同环境读取不同值的问题

  1. 安装corss-env
npm i corss-env --save-dev
  1. 修改package.json
{
  ...
  "scripts": {
    // 设置UMI_ENV环境
    "dev": "cross-env UMI_ENV=dev umi dev",
    "build": "cross-env UMI_ENV=prod umi build"
  }
}
  1. 定义环境变量
    新建.umirc[mode].tsmode取值由UMI_ENV=*来决定,在不同环境定义不同的basepublicPath
// .umirc.dev.ts
import { defineConfig } from "umi";

export default defineConfig({
  base:"/",
  publicPath:"/",
});


// .umirc.prod.ts
import { defineConfig } from "umi";

export default defineConfig({
  base:"/file-convert/",
  publicPath:"./",
});