vue-cli配置環(huán)境變量的方法
在實(shí)際項(xiàng)目開發(fā)中,經(jīng)常會(huì)碰到需要環(huán)境變量的情景,在vue-cli的環(huán)境下,默認(rèn)已經(jīng)配置了一個(gè)NODE_ENV的環(huán)境變量,當(dāng)npm run dev
的時(shí)候這個(gè)是development, 當(dāng)npm run build
的時(shí)候這個(gè)是production.用過vue-cli開發(fā)的通常對這個(gè)都不陌生,用這個(gè)最多的基本就是我們配置ajax請求的域名頭了,
if (process.env.NODE_ENV === 'production') { axios.defaults.baseURL = 'http://customer.medsci.cn' }
通常會(huì)有測試服務(wù)器和正式服務(wù)器環(huán)境之分,我們請求的域名也得區(qū)分,所以通過proces.env.NODE_ENV來區(qū)分環(huán)境變量,通過這個(gè)能夠全局訪問的參數(shù),我們可以處理很多需要環(huán)境處理不同的操作.
上面的process.env.NODE_ENV是vue-cli默認(rèn)配置的,有時(shí)候我們可能覺得光是只有一個(gè)開發(fā)環(huán)境和生產(chǎn)環(huán)境還不夠,比如我們還想來一個(gè)測試壞境,這時(shí)候就需要自己定義了.以下以windows壞境為例,mac環(huán)境類似.
首先可以安裝cross-env
npm install cross-env --save-dev
vue-cli的配置本質(zhì)就是webpack的配置,當(dāng)我們運(yùn)行npm run dev
的時(shí)候,其實(shí)執(zhí)行的是package.json中的scripts 的dev中 ,即build/dev-server.js 這里面一系列的配置啟動(dòng)整個(gè)服務(wù).
我們只想加一個(gè)環(huán)境變量,可以復(fù)制一份,在dev下加一個(gè)devtest命令:
"devtest": "cross-env TESTING=true node build/dev-server.js",
這樣我們就可以通過npm run devtest也能啟動(dòng)整個(gè)服務(wù)了,注意上面的命令,我們加了一個(gè)TESTING=true ,這個(gè)就是加入的環(huán)境變量,TESTING:true, 通過上面的devtest的配置,我們可以運(yùn)行npm run devtest像nppm run dev那樣運(yùn)行起來整個(gè)程序,不過我們發(fā)現(xiàn),此時(shí)在項(xiàng)目中我們獲取不到process.env.TESTING這個(gè)變量,這是為什么呢,如果是直接用webpack是可以的,經(jīng)過查看,是在vue-cli的一系列配置文件中,已經(jīng)寫死了這些,不過我們可以改動(dòng)加上
在根目錄 config下,有dev.env.js和prod.env.js,這兩個(gè)文件就是關(guān)鍵了,我們在NODE_ENV下面加一行TESTING:process.env.TESTING
module.exports = { NODE_ENV: '"production"', TESTING: process.env.TESTING }
這時(shí)我們就能全局訪問process.env.TESTING變量了,當(dāng)我們npm run dev的時(shí)候,這個(gè)是undefined,當(dāng)npm run devtest的時(shí)候是true, 同理我們可以添加一個(gè)npm run test命令, 與npm run build命令對應(yīng),加入打包測試的環(huán)境變量.
vue-cli的配置本質(zhì)還是webpack的配置, 普通的webpack配置也可以采用此方法.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue-loader中引入模板預(yù)處理器的實(shí)現(xiàn)
這篇文章主要介紹了vue-loader中引入模板預(yù)處理器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09vue中axios的封裝問題(簡易版攔截,get,post)
這篇文章主要介紹了vue中axios的封裝問題(簡易版攔截,get,post),需要的朋友可以參考下2018-06-06解決Vue3?echarts?v-show無法重新渲染的問題
這篇文章主要介紹了Vue3?echarts?v-show無法重新渲染的問題,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09詳解解決Vue相同路由參數(shù)不同不會(huì)刷新的問題
這篇文章主要介紹了詳解解決Vue相同路由參數(shù)不同不會(huì)刷新的問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10