這是一個經過修改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