一.配置多个环境变量
- 新建两个或多个文件,和package.json同级;
- package.json 里的 scripts 配置 serve test build,通过 --mode xxx 来执行不同环境
- 例如:.env.production、.env.development
- 通过 npm run serve 启动本地 , 执行 development
- 通过 npm run stage 打包测试 , 执行 staging
- 通过 npm run build 打包正式 , 执行 production
"scripts": {
"serve": "vue-cli-service serve --open",
"stage": "vue-cli-service build --mode staging",
"build": "vue-cli-service build",
}
二.配置介绍
1.在项目根目录中新建.env.*
①.env.development 本地开发环境配置
NODE_ENV='development'
# must start with VUE_APP_
VUE_APP_ENV = 'development'
②.env.staging 测试环境配置
NODE_ENV='production'
# must start with VUE_APP_
VUE_APP_ENV = 'staging'
③.env.production 正式环境配置
NODE_ENV='production'
# must start with VUE_APP_
VUE_APP_ENV = 'production'
之所以去config下面在建立三个对应的文件夹是为了:
修改起来方便,不需要重启项目,符合开发习惯。
①.config / index.js:
// 根据环境引入不同配置 process.env.NODE_ENV
const config = require('./env.' + process.env.VUE_APP_ENV)
module.exports = config
②.配置对应环境的变量,拿本地环境文件 env.development.js 举例,用户可以根据需求修改
// 本地环境配置
module.exports = {
title: 'vue-admin-template',
baseUrl: 'http://localhost:1001', // 项目地址
baseApi: 'https://test.xxx.com/api', // 本地api请求地址
APPID: 'xxx',
APPSECRET: 'xxx'
}
③.根据环境不同,变量自然不同
// 根据环境不同引入不同baseApi地址
import { baseApi } from '@/config'
console.log(baseApi)
三.需要注意
①如果是测试环境时,需要额外配置一个js文件
在根目录下创建vue.config.js文件,然后写入
module.exports = {
publicPath: "./"
// 路径都换为 ./
};
②.配置对应环境的变量,拿本地环境文件 env.development.js 举例,用户可以根据需求修改
// 本地环境配置
module.exports = {
title: 'vue-h5-template',
baseUrl: 'http://localhost:9018', // 项目地址
baseApi: 'https://test.xxx.com/api', // 本地api请求地址
APPID: 'xxx',
APPSECRET: 'xxx'
}