UMI多环境配置

简介: 一般来说项目不止有dev和prod两个环境,umi可以通过环境变量 UMI_ENV 区分不同环境来指定配置。

一般来说项目不止有dev和prod两个环境,umi可以通过环境变量 UMI_ENV 区分不同环境来指定配置。

需求:三套环境->本地环境localtest、测试发布环境testbuild、正式环境probuild

1.在根目录新建.umirc.localtest.ts、.umirc.testbuild.ts、.umirc.probuild.ts三个配置文件。

每个文件中按照以下方式定义变量,一般可包括测试账户的账号密码、请求前缀等。

export default {
  define: {
    loginName:'zhangsan',        //登录名
    loginPassword:'****',        //登录密码
    prefix:'',                   //请求前缀
  },
};
  1. 安装cross-env,这个包是可以在跨平台设置环境变量。
package.json文件:
"scripts": {
    "start:localtest": "cross-env UMI_ENV=localtest umi dev",  //设置UMI_ENV为localtest
    "start:testbuild": "cross-env UMI_ENV=testbuild umi dev",
    "start:probuild": "cross-env UMI_ENV=probuild umi dev",
    "build:testbuild": "cross-env UMI_ENV=testbuild umi build",
    "build:probuild": "cross-env UMI_ENV=probuild umi build",
  },

运行npm run start:localtest 即可运行localtest环境 同理其他环境

3.在页面中直接使用变量

console.log(loginName,loginPassword,prefix)

例:

if(!loginName||!loginPassword){
  message.error('登录名或密码为空')
  return
}
let param={
  loginName,
  loginPassword
}
dispatch({
  type: 'loginModal/login',
  payload: {
    param
  },
})

注:如果项目的配置比较复杂,可以将配置写在 config/config.ts 中。

相关文章
|
测试技术 Windows
umi如何配置环境变量
umi如何配置环境变量
997 0
如何在 Umi 中使用 Keep Alive
如何在 Umi 中使用 Keep Alive
4754 1
如何在 Umi 中使用 Keep Alive
|
存储 前端开发 JavaScript
ahooks 正式发布:值得拥抱的 React Hooks 工具库
ahook定位于一套基于 React Hooks 的工具库,核心围绕 React Hooks 的逻辑封装能力,降低代码复杂度和避免团队的重复建设为背景,共同建设和维护阿里经济体层面的 React Hooks 库。
24164 1
ahooks 正式发布:值得拥抱的 React Hooks 工具库
|
移动开发 前端开发 Android开发
前端html input =“file“ ios/安卓解决无法选择图库/拍照问题
前端html input =“file“ ios/安卓解决无法选择图库/拍照问题
3029 0
|
移动开发 前端开发 JavaScript
antd popover定位不准闪跳解决+自己实现popover库
我在写H5-dooring时,发现我们用的popover会发生闪跳,而且第一次闪跳就算了,每次还会有另一个方向的闪跳。 于是我大概百度了下,基本都说需要给固定宽高即可,让后试了下发现没用,就算触发组件和弹窗元素都给了宽高,也一样闪跳。由于antd的popover底层的实现是套其他第三方的库,第三方库又用到了其他的前端组件, 所以锁心自己实现一个。
1359 0
|
Web App开发 前端开发 Android开发
svg图标无法修改颜色的解决方案
svg图标无法修改颜色的解决方案
|
前端开发
【面试题】:前端怎么实现组件的封装和上传
前端如何实现组件的封装以及上传
446 0
|
JavaScript
tailwindcss使用教程
【8月更文挑战第1天】
795 3
如何处理代理的404错误
如何处理代理的404错误
4101 8
|
网络协议 C# 移动开发
c#获取和设置网卡ip/dns等信息
  using System; using System.Windows.Forms; using System.Management; using System.
1805 0