您好,登錄后才能下訂單哦!
這篇文章主要介紹“vue中如何區分不同的環境”,在日常操作中,相信很多人在vue中如何區分不同的環境問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vue中如何區分不同的環境”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我們在vue開發中常常要根據不同的環境區分不同的變量,常見的環境有如下幾種:
生產環境:production,
開發環境:development,
測試環境:test。
const BASE_URL = 'http://dlfordmc.org/dev' const BASE_NAME = 'coder' // const BASE_URL = 'http://dlfordmc.org/prod' // const BASE_NAME = 'kobe' // const BASE_URL = 'http://dlfordmc.org/test' // const BASE_NAME = 'james' export { BASE_URL, BASE_NAME }
我們當處于什么環境下,就將什么變量的注釋取消。這樣做太過于繁瑣,并且也不安全。如果我們忘記,當處于生產環境下的,我們使用的是開發環境下的變量,此時就會造成不安全。
let BASE_URL = '' let BASE_NAME = '' if (process.env.NODE_ENV === 'production') { BASE_URL = 'http://dlfordmc.org/prod' BASE_NAME = 'dmc' } else if (process.env.NODE_ENV === 'development') { BASE_URL = 'http://dlfordmc.org/deve' BASE_NAME = 'dl' } else { BASE_URL = 'http://dlfordmc.org/test' BASE_NAME = 'dlfordmc' } export { BASE_NAME, BASE_URL }
需要在根目錄下編寫三個文件:
.env.development
VUE_APP_BASE_URL=https://fordmcdl.org/devepment VUE_APP_BASE_NAME=devepmemt
.env.production
VUE_APP_BASE_URL=https://fordmcdl.org/production VUE_APP_BASE_NAME=production
.env.test
VUE_APP_BASE_URL=https://fordmcdl.org/test VUE_APP_BASE_NAME=test
此時在其他地方訪問的時候
console.log(process.env.VUE_APP_BASE_URL) //https://fordmcdl.org/devepment console.log(process.env.VUE_APP_BASE_NAME) //devepmemt
注意:此時必須要加上VUE_APP,訪問的時候需要加上process.env
官網學習:https://cli.vuejs.org/zh/guide/mode-and-env.html#%E6%A8%A1%E5%BC%8F
假如項目有4個環境:開發、生產、測試、其他
1.package.json
vue腳手架默認有2個環境,開發和生產,在本地環境開發,發布到生產環境,配置如下
"scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "lint": "eslint --ext .js,.vue src", "build": "node build/build.js" },
如果變成4個環境,1個本地開發,3個可發布測試。
首先,我們需要想清楚,我們需要的是什么。
① 需要本地開發,打包到不同環境測試發布;
② 還是開發時就是不同環境,打包也是不同環境
如果是第一種
"scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "lint": "eslint --ext .js,.vue src", "build": "node build/build.js", //用這種 "build--dev": "cross-env NODE_ENV=production env_config=dev node build/build.js", "build--test": "cross-env NODE_ENV=production env_config=test node build/build.js", "build--prod": "cross-env NODE_ENV=production env_config=prod node build/build.js" //或用這種vue3.0 "build":"vue-cli-service build --mode development", "prodbuild":"vue-cli-service build --mode production", "testbuild":"vue-cli-service build --mode test" },
如果是第二種
"scripts": { "serve": "vue-cli-service serve --mode development", "test": "vue-cli-service serve --mode test", "production": "vue-cli-service serve --mode production" , "build":"vue-cli-service build --mode development", "prodbuild":"vue-cli-service build --mode production", "testbuild":"vue-cli-service build --mode test" },
到此,關于“vue中如何區分不同的環境”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。