通常情况下,一个项目区分开发环境,测试环境,生产环境,因为后端给的接口测试环境和生产环境的不一样,并且我们的也不是网站前缀,正式环境也需要自己配置,然后整个项目是用umi搭建的,所以用了cross-env来配置不同的环境
    
    
    1、安装cross-env
   
npm i cross-env -S
    
    
    2、修改package.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和config.prod.ts文件
   
config.dev.ts 如下
import { defineConfig } from 'umi';
/**
 * UMI 配置
 * 更多相关配置查询 https://umijs.org/zh-CN/docs/config
 */
export default defineConfig({
  define: {
    "process.env.UMI_ENV": process.env.UMI_ENV,
  },
});
config.prod.ts如下
import { defineConfig } from 'umi';
/**
 * UMI 配置
 * 更多相关配置查询 https://umijs.org/zh-CN/docs/config
 */
export default defineConfig({
  define: {
    "process.env.UMI_ENV": process.env.UMI_ENV,
  },
});
    
    
    4、使用
   
然后就可以在你的请求文件中配置接口的baseUrl
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"  //正试服
}
 
版权声明:本文为weixin_47541876原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
