Vue 开发项目过程中在开发环境,测试环境,生产环境设置不同的请求接口域名

一、平常项目前期我们会使用线下的本地服务请求接口,上线之前测试环境以及生产环境,以下讲解不同环境的接口配置(3.x为例)

二、步骤

  1、在根目录下创建".env"文件,内容如下。(production生产环境)

NODE_ENV = 'production'
VUE_APP_FLAG = 'pro'

  2、在根目录下创建".env.test"文件,这是测试环境需要的配置

NODE_ENV = 'production'
VUE_APP_FLAG = 'test'
outputDir = test  

  创建截图如下

  

 

 

三、找到根目录下的package.json文件

  在script中添加  "test": "vue-cli-service build --mode test" (这句话的作用是用来打包生成测试环境的代码,也即是说测试环境的打包需要使用npm run test命令来代替npm run build,生产环境则需要使用npm run build)

  

 

四、在main.js中判断当前环境需要加载的接口域名(需要引入axios)

  注:此处如果使用else中的开发环境路径,则vue.config.js中配置的代理将不起作用,故可将此处注释使用代理

import axios from 'axios'

/*第一层if判断生产环境和开发环境*/
if (process.env.NODE_ENV === 'production') {
  /*第二层if,根据.env文件中的VUE_APP_FLAG判断是生产环境还是测试环境*/
  if (process.env.VUE_APP_FLAG == 'pro') {
      //production 生产环境
      axios.defaults.baseURL = 'http://api.xinggeyun.com';//路径
  } else {
      //test 测试环境
      axios.defaults.baseURL = 'http://192.168.0.152:8103';//路径
  } 
} else { 
  //dev 开发环境 
  //axios.defaults.baseURL = 'http://192.168.0.152:8102';//路径
} 

 

 

 

 五、执行不同的命令生产对应环境的包

  生产环境域名包:npm run build

  测试环境域名包:npm run test

 

posted @ 2020-03-06 14:54  杰_森  阅读(5153)  评论(0编辑  收藏  举报