在用vue框架时,经常用到多种环境

        一种是开发环境,就是本地开发时的环境,

        一种是测试环境,就是测试人员使用的服务环境

        一种是生产环境,就是要发布到线上的环境。

注意:日常开发是用开发环境的,如果发布到线上时,需要切换环境为线上。如果人为去切换也是可以的,但是会容易忘记,可以通过配置不同的运行命令来自动切换环境。

步骤一:手动创建 文件 .env.development 和.env.production和.env.test几个文件

.env.development如下:(开发环境)

NODE_ENV = 'development'
VUE_APP_MODE = 'development'
VUE_APP_API_URL = 'http://47.94.4.201/'

.env.production如下:(正式线上环境,或者叫生产环境)

NODE_ENV = 'production'
VUE_APP_MODE = 'production'
VUE_APP_API_URL = 'https://www.zzgoodqc.cn/'

.env.test(测试环境)

NODE_ENV = 'test'
VUE_APP_MODE = 'test'
VUE_APP_API_URL = 'http://49.94.4.21/'
outputDir = test

步骤二:在axios封装中使用环境配置项(api.js中)

//获取当前环境配置项中的地址,会自动追加到接口上
axios.defaults.baseURL = process.env.VUE_APP_API_URL

//获取配置项信息,可以做你的逻辑处理
if(process.env.VUE_APP_MODE==='development'){
    //开发环境下的执行操作
	console.log('开发');
}else if(process.env.VUE_APP_MODE==='test'){
    //测试环境下的执行操作
	console.log('测试');
}else{
    //生产环境下的执行操作
	console.log('正式');
}

步骤三:接口调用

//代码中无需再加服务器IP地址,会自动追加过去
export function apiGet(url, params){ 
	return new Promise((resolve, reject) =>{ 
		axios.get(url, { 
			params: params,
			herader:{"token":sessionStorage.getItem('token')}
		}).then(res => {
			resolve(res.data);
		}).catch(err =>{
			reject(err.data) 
		}) 
   });
}

步骤四:打包命令配置:

//找到package.json  
"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "test": "vue-cli-service build --mode test",
    "publish": "vue-cli-service build && vue-cli-service build --mode test"
  },

Logo

前往低代码交流专区

更多推荐