Umi Max 如何灵活 配置多环境变量

在日常的开发过程中,总是要设置不同的环境,有开发的、测试的、预发的和生产的等等,那么如何在Umi框架中配置多环境变量,以便在不同环境中使用不同的接口baseUrl,下面我们将详细解读一下

1. 环境配置的目的

一个项目通常需要区分开发环境、测试环境和生产环境等等,因为不同环境的接口地址不同。为了方便管理和维护,需要在项目中配置多环境变量。

2. 安装和配置cross-env

• 安装cross-env

go 复制代码
```bash
npm i cross-env -S
```

• 修改package.json文件

ini 复制代码
```json
"dev": "cross-env UMI_ENV=dev UMI_DEV=true umi dev",
"start": "cross-env UMI_ENV=prod umi dev",
"build": "cross-env UMI_ENV=prod umi build",
"build-dev": "cross-env UMI_ENV=dev UMI_DEV=true umi build"
```
通过不同的命令启动对应的环境,生产环境使用`UMI_ENV=prod`,测试环境使用`UMI_ENV=dev`。

3. 新增配置文件

• config.dev.ts

arduino 复制代码
```typescript
import { defineConfig } from 'umi';

export default defineConfig({
  define: {
    "process.env.UMI_ENV": process.env.UMI_ENV,
  },
});
```

• config.prod.ts

arduino 复制代码
```typescript
import { defineConfig } from 'umi';

export default defineConfig({
  define: {
    "process.env.UMI_ENV": process.env.UMI_ENV,
  },
});
```

4. 使用环境变量配置接口baseUrl

在请求文件中根据process.env.UMI_ENV的值配置接口的baseUrl:

javascript 复制代码
let api = "https://dev.xxx.com"; // 测试服
if (process.env.UMI_ENV === 'dev') {
  api = "https://dev.xxx.com"; // 测试服
} else if (process.env.UMI_ENV === 'prod') {
  api = "https://www.xxx.com"; // 正式服
}

通过以上步骤,可以在Umi项目中实现多环境配置,方便在不同环境中使用不同的接口地址。

相关推荐
恋猫de小郭12 小时前
Fluter 共享内存多线程正在落地,IsolateGroupBound 来了
android·前端·flutter
十铭忘12 小时前
Vue3实现Pixso中的钢笔工具3——梳理函数调用
前端·vue.js
逝水无殇12 小时前
HTML 元素详解
开发语言·前端·html
糖墨夕12 小时前
AI Agent技术栈选择:Vue3 + NestJS + TypeScript 为什么是绝佳组合
前端·nestjs
Java面试题总结12 小时前
区间树:反向映射的前置数据结构
java·前端·数据结构
KaMeidebaby12 小时前
卡梅德生物技术快报|兔单克隆抗体:噬菌体 Fab 免疫文库搭建实操:兔单克隆抗体重组构建完整参数
前端·网络·数据库·人工智能·算法
胡萝卜术20 小时前
从API调用到手写LRU:力扣146「LRU缓存」的哈希表+双向链表终极进化之路
前端·javascript·面试
科技道人20 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
天疆说21 小时前
Zotero Connector 在 Edge 里找不到桌面 Zotero(Linux / Zotero 9.0.6 / Edge 150)
linux·前端·edge
李伟_Li慢慢1 天前
02-从硬件说起WebGL
前端·three.js