前言由于目前我在公司已经搭建了Jenkins来进行一键系统发布,同时存在测试和生产两套环境。但是目前iview-admin是不支持的,只好自己进行改造了。PS:iview-admin版本为2.1.0改造方案iview-admin 2.1.0比起iview-admin 2.0.0,移除了config目录且将vue-cli升级到3.0。所以可以使用vue-cli 3.0的环境变量和模式特性来支持多环境配置打包。在项目根目录添加环境变量文件新增开发环境文件.env.dev,内容如下:NODE_ENV = ‘dev’MOCK = trueBASE_URL= ‘/‘新增测试环境文件.env.test,内容如下:NODE_ENV = ’test’MOCK = falseBASE_URL= ‘/test’新增生产环境文件.env.prod,内容如下:NODE_ENV = ‘prod’MOCK = falseBASE_URL= ‘/prod’环境变量文件中各个属性的用途如下:NODE_ENV为对应的环境MOCK为是否引入mock.js文件的标识BASE_URL为前端项目访问时的相对地址修改package.json修改scripts的dev和build,修改后内容如下: “scripts”: { “dev”: “vue-cli-service serve –open –mode dev”, “build:test”: “vue-cli-service build –mode test”, “build:prod”: “vue-cli-service build –mode prod”, “lint”: “vue-cli-service lint”, “test:unit”: “vue-cli-service test:unit”, “test:e2e”: “vue-cli-service test:e2e” },修改后的指令npm run dev为开发调试npm run build:test为测试环境打包npm run build:prod为开发环境打包修改vue.config.js文件修改BASE_URL(此参数控制的是前端项目访问时的相对地址),改为从环境变量中获取,内容如下: const BASE_URL = process.env.BASE_URL修改src/config/index.js文件修改baseUrl,改为多个后端API接口的配置,内容如下: baseUrl: { dev: ‘http://localhost:8081’, test: ‘http://www.test.com’, prod: ‘http://www.prod.com’ },修改src/libs/api.request.js文件修改baseUrl(对应后端API接口的地址),改为根据环境变量获取对应的URL,内容如下: const baseUrl = config.baseUrl[process.env.NODE_ENV]修改src/main.js文件修改mock包引入判断,改为从环境变量中获取,内容如下: if (process.env.MOCK) require(’@/mock’)参考资料https://cli.vuejs.org/zh/guid…https://github.com/vuejs/vue-