这是一个经过修改vue.config.js来替代新建env文件配置环境变量的方法,这样能减小配置文件数量,减小根目录文件数量,让配置更易阅读和修改,让目录和代码更清爽。(这都是主观感觉,欢迎小伙伴轻拍)
经过vue-cli-service --mode local来指定是哪一个运行环境vue
"scripts": { "serve-local": "vue-cli-service serve --port 8806 --mode local", "serve-dev": "vue-cli-service serve --port 8806 --mode development", "serve-prod": "vue-cli-service serve --port 8806 --mode production", "build": "vue-cli-service build --mode production", "lint": "vue-cli-service lint" },
为每一个mode新建一个.env.[mode]
的文件,值env文件里面指定变量,vue-cli
VUE_APP_SERVER_URL = "localUrl" ....
好比在config.js中导入环境变量json
export const SERVICE_URL = process.env.VUE_APP_SERVICE_URL;
和常规操做同样服务器
经过process.VUE_CLI_SERVICE.mode
来获取--mode的传值,根据mode值来经过js的方法来设置环境变量。若是配置环境变量只写到vue.config.js文件下不优雅,小伙伴能够自行经过js的方式来组织环境变量的文件,欢迎小伙伴触类旁通测试
const mode = process.VUE_CLI_SERVICE.mode console.log("mode=", mode); if(mode == "local"){ process.env.VUE_APP_SERVICE_URL = "localUrl" process.env.VUE_APP_PLATFORM = "/same" }else if(mode == "development"){ process.env.VUE_APP_SERVICE_URL = "devUrl" process.env.VUE_APP_PLATFORM = "/same" }else if(mode == "production"){ process.env.VUE_APP_SERVICE_URL = "prodUrl" process.env.VUE_APP_PLATFORM = "/same" } module.exports = { publicPath : './' };
不知道这样配置环境变量是否是温馨一些?欢迎小伙伴留下宝贵的意见和建议!ui
和常规用法同样code