博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iview-admin多环境配置打包
阅读量:7094 次
发布时间:2019-06-28

本文共 1703 字,大约阅读时间需要 5 分钟。

前言

由于目前我在公司已经搭建了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的环境变量和模式特性来支持多环境配置打包。

在项目根目录添加环境变量文件

PS:developmenttestproductionNODE_ENV的默认环境变量,所以不能使用。

  1. 新增开发环境文件.env.dev,内容如下:
NODE_ENV = 'dev'VUE_APP_ENV = 'dev' VUE_APP_MOCK = trueBASE_URL= '/'
  1. 新增测试环境文件.env.beta,内容如下:
NODE_ENV = 'production'VUE_APP_ENV = 'test'VUE_APP_MOCK = falseBASE_URL= '/test'
  1. 新增生产环境文件.env.prod,内容如下:
NODE_ENV = 'production'VUE_APP_ENV = 'prod'VUE_APP_MOCK = falseBASE_URL= '/prod'

环境变量文件中各个属性的用途如下:

  1. NODE_ENV使用的是production的打包配置
  2. VUE_APP_ENV是因为如果要替换src目录下文件中的某个参数则要以VUE_APP_开头,这个参数为对应的环境
  3. VUE_APP_MOCK为是否引入mock.js文件的标识
  4. BASE_URL为前端项目访问时的相对地址

修改package.json

修改scriptsdevbuild,修改后内容如下:

"scripts": {        "dev": "vue-cli-service serve --open --mode dev",        "build:test": "vue-cli-service build --mode beta",        "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"    },

修改后的指令

  1. npm run dev为开发调试
  2. npm run build:test为测试环境打包
  3. 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 env = process.env.VUE_APP_ENV    const baseUrl = config.baseUrl[env]

修改src/main.js文件

修改mock包引入判断,改为从环境变量中获取,内容如下:

if (process.env.VUE_APP_MOCK) require('@/mock')

参考资料

转载地址:http://fiaql.baihongyu.com/

你可能感兴趣的文章
微服务
查看>>
使用svn加rsync进行远程web的更新
查看>>
rtc-test
查看>>
运维自动化|系统运维|Ansible的安装及配置使用
查看>>
点赞和取消代码(jquery)
查看>>
删除一个无头单链表的非尾节点
查看>>
golang-并发编程之goroutine
查看>>
linux学习记录———rsync
查看>>
免费素材: 4套超棒的免费ui套件
查看>>
实现Flat UI效果的前端框架 - Furatto
查看>>
【安全牛学习笔记】KALI版本更新和手动漏洞挖掘(SQL注入)
查看>>
MaxCompute Tunnel SDK数据上传利器——BufferedWriter使用指南
查看>>
聊聊apache gossip的FailureDetector
查看>>
聊聊elasticsearch的DeadlockAnalyzer
查看>>
Python学习之路——Python基础之基本数据类型(数字、字符串)
查看>>
常见的几种排序算法-插入、选择、冒泡、快排、堆排等
查看>>
今天想学习Python的GUI
查看>>
fdisk和parted
查看>>
shell 数组
查看>>
ASP--文件和文件夹操作
查看>>