1 . vuecli3.0搭建的vue项目,配置多个环境变量
新建两个或多个文件,和package.json同级的:比如 .env.dev和env.prod
- 通过 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",
}
配置介绍
在项目根目录中新建 .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)