VUE-CLI3 打包不同线上环境路径

      最近接到一个奇葩需求,搞完的一个项目要部署到不同的线上服务器上,以往用VUE-cli3脚手架开发,都是免配置的,在axios.js里面进行一个判断就行了,如下:

// 配置接口地址
if(process.env.NODE_ENV === "development"){
	//开发环境
	axios.defaults.baseURL = 'http://192.168.9.81:8080/cdps'
}else{
    //线上环境
	axios.defaults.baseURL = 'http://219.139.128.22:50193/core'
}

但是面对多个线上地址的请求,这个配置就行不通了,所以就翻了翻vue-cli的文档,找到了下面这个办法,可能简单粗暴了点,但是好用,有更好的办法的欢迎回复。

1.在项目的package.json文件的统计目录建一个文件,名字为.env.xxx,比如我的就叫.env.enshi(因为线上节点的名字叫enshi),再建一个.env.production,作为标准的线上环境文件

2.在.env.enshi文件中配置如下:

NODE_ENV = 'production'
VUE_APP_BASE_URL = 'http://120.192.66.228:8080/cdps'

3.在.env.production文件中配置如下:

NODE_ENV = 'production'
VUE_APP_BASE_URL = 'http://yy.yczxyy.com:5066/core'

4.在package.json中增加配置:

"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
//这是增加的
    "build-enshi": "vue-cli-service build --mode enshi",
    "lint": "vue-cli-service lint"
  },

5.在axios.js里面修改下,如下:

// 配置接口地址
if(process.env.NODE_ENV === "development"){
	//开发环境
	axios.defaults.baseURL = 'http://192.168.9.81:8080/cdps'
}else{
    //线上环境
	axios.defaults.baseURL = process.env.VUE_APP_BASE_URL
}

6.打包的时候用如下指令:

npm run build-enshi   //enshi节点的请求路径

npm run build         //标准线上环境

以上!

猜你喜欢

转载自blog.csdn.net/playboyanta123/article/details/122121571
今日推荐