线上线下环境切换(生产环境,开发环境的切换)

在平时开发测试中,会有频繁切换线上线下环境的需求。一般情况下,线上线下环境url地址就是前缀不一样,修改一下前缀,重新编译打包。相当的费时间
主要有以下两种方法:
一、.第一种方法:通过配置.env文件来实现
此处有官方网址可以查看参考:https://cli.vuejs.org/zh/guide/mode-and-env.html
二、
分为以下三步:
第一步:通过创建不同环境js文件,再通过cross-env来切换

 config
    dev.js   //开发环境
    prod.js  //生产环境
dev.js   //开发环境内容
module.exports = {
     
  BASE_URL: "https://test.365msmk.com"
};
prod.js   //生产环境内容

module.exports = {
     
  BASE_URL: "https://www.365msmk.com"
};

第二步:安装cross-env并在package.json中配置要传递的参数

npm install cross-env -D

package.json中配置

"scripts": {
     
    "serve": "cross-env BUILD_ENV=dev vue-cli-service serve",
    "build": "cross-env BUILD_ENV=prod vue-cli-service build"
  }

第三步:修改vue.config.js添加对webpack的配置

module.exports = {
     
 .....
  chainWebpack: config => {
     
    config.plugin("define").tap(args => {
     
      args[0]['process.env'].BUILD_ENV = JSON.stringify(process.env.BUILD_ENV);
      return args;
    });
  }
};

在业务代码做环境的切换
//读取process.env常量对象中的BUILD_ENV
const envType = process.env.BUILD_ENV;

const urlObj = require(../config/${envType}.js);

//创建一个axios实例
const service = axios.create({
baseURL: urlObj.BASE_URL + vipUrl
});

你可能感兴趣的:(vue.js)