多环境

本项目自定义了一个 sit 环境,并且创建了 developmentproduction 环境文件,即可操作的环境有:

  • development(开发)
  • sit(测试)
  • production(生产)

环境变量

项目的环境变量有 VUE_APP_ENV_CONFIGVUE_APP_BASE_API,你可以这样直接使用:

根据环境切换请求基础链接

// @/utils/request.js
const baseURL = process.env.VUE_APP_BASE_API

判断当前环境

// 默认
if (process.env.NODE_ENV === 'production') {
    // ...
}
// 自定义
if (process.env.VUE_APP_ENV_CONFIG === 'prod'){
    // ...
}

TIP

如果需要修改环境变量,找到根目录下对应的 /.env.xxx 文件修改即可。

自定义环境

如果需要自定义环境,你可以按以下示例来实现,如创建 sit 环境:

  • 根目录下创建名为 .env.sit 文件,并添加环境变量
NODE_ENV = production
VUE_APP_BASE_API = 'http://www.example.com/sit'
  • 打开 package.json 文件,添加 script
// --mode sit 对应刚刚创建的 .env.sit 文件
"build:sit": "vue-cli-service build --mode sit"
  • 项目中使用
// @/utils/request.js
export const instance = axios.create({
    baseURL: process.env.VUE_APP_BASE_API
})
  • 打包构建
npm run build:sit

打出来的 dist 包,请求基础路径就是 sit 环境的 VUE_APP_BASE_API,同理执行 npm run build,基础路径也就是 production 环境的 VUE_APP_BASE_API

TIP

NODE_ENV = production 是为了打包 sit 环境时,采用 production 模式。

更多配置请参照 环境变量和模式

不使用多环境

如果你的项目并不需要多环境功能(无论本地、生产都是同一个请求基础链接)。你可以这样修改:

// @/utils/request.js
export const instance = axios.create({
    baseURL: 'www.example.com'
})

本地开发如果存在跨域,请查看 跨域问题