vue中 process.env與process.VUE_CLI_SERVICE詳解
在vue中設(shè)置環(huán)境變量離不開process.env屬性,那么如何設(shè)置自定義環(huán)境變更呢?
可以通過設(shè)置.env文件或者借助process.VUE_CLI_SERVICE來設(shè)置
process
process 對象是一個 global (全局變量),提供有關(guān)信息,控制當(dāng)前 Node.js 進(jìn)程。作為一個對象,它對于 Node.js 應(yīng)用程序始終是可用的。
process.env
process.env 屬性返回一個包含用戶環(huán)境信息的對象。而 NODE_ENV 就是其中的一個環(huán)境變量。這個變量主要用于標(biāo)識當(dāng)前的環(huán)境(生產(chǎn)環(huán)境,開發(fā)環(huán)境)。相關(guān)屬性可參考下圖所示

process.VUE_CLI_SERVIC
VUE_CLI_SERVIC是Vue CLI提供的,查看process.VUE_CLI_SERVIC屬性,可以發(fā)現(xiàn)其實就是vue項目中的package.json中的配置內(nèi)容。

在 Vue 中, NODE_ENV 可以通過 .env 文件或者 .env.[mode] 文件配置。配置過后,運行 Vue CLI 指令( npm run dev(serve) ,npm run build )時,就會將該模式下的NODE_ENV載入其中了。
development 模式 -----process.env.NODE_ENV為development
test 模式 ------------------process.env.NODE_ENV為test
production 模式 --------process.env.NODE_ENV為production
可以通過傳遞 --mode 選項參數(shù)為命令行覆寫默認(rèn)的模式
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build --mode production",
"build:test": "vue-cli-service build --mode test",
},.vnv.test文件自定義的變量必須以 VUE_APP_ 開頭只有 NODE_ENV,BASE_URL 和以 VUE_APP_ 開頭的變量將通過 webpack.DefinePlugin 靜態(tài)地嵌入到客戶端側(cè)的代碼中。這是為了避免意外公開機(jī)器上可能具有相同名稱的私鑰。
如果是vue3+vite 必須使用VITE開頭的配置信息 否則無法獲取,示例:VITE_NODE_BUILD = “test”
//.vnv.test文件 NODE_ENV=production VUE_APP_MODE=production VUE_APP_BUILD=test // 自定義環(huán)境變更必須用VUE_APP_開頭
對應(yīng)關(guān)系圖所示

注意事項
當(dāng)運行 vue-cli-service 命令時,所有的環(huán)境變量都從對應(yīng)的環(huán)境文件中載入。
如果文件內(nèi)部不包含 NODE_ENV 變量,它的值將取決于模式,例如,在 production 模式下被設(shè)置為 “production”,在 test 模式下被設(shè)置為 “test”,默認(rèn)則是 “development”
如果不配置.env.文件的話,通過設(shè)置自定義模式--mode custom來做處理時,在build時需要注意設(shè)置NODE_ENV 為 production,否則不能正常打包
const mode = process.VUE_CLI_SERVICE.mode === 'development' ? 'development' : 'production' process.env.NODE_ENV = mode process.env.VUE_APP_MODE = mode let publicPath =process.VUE_CLI_SERVICE.mode === 'test' ? '/ag-collect-server-springcloud' : '/ag-collect'
到此這篇關(guān)于vue中 process.env與process.VUE_CLI_SERVICE的文章就介紹到這了,更多相關(guān)vue中 process.env與process.VUE_CLI_SERVICE內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Vue父子組件生命周期執(zhí)行順序及鉤子函數(shù)
本文通過實例代碼給大家介紹了Vue父子組件生命周期執(zhí)行順序及鉤子函數(shù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-08-08
vue項目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題的解決
這篇文章主要介紹了vue項目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題的兩種解決方案,幫助大家更好的理解和學(xué)習(xí)使用vue,感興趣的朋友可以了解下2021-04-04
如何修改element-ui中tree組件的icon圖標(biāo)(小白都會的前端技能)
這篇文章主要給大家介紹了關(guān)于如何修改element-ui中tree組件的icon圖標(biāo)的相關(guān)資料,本文介紹的是小白都會的前端技能,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
vue3+vite實現(xiàn)在線預(yù)覽pdf功能
這篇文章主要為大家詳細(xì)介紹了如何通過vue3和vite實現(xiàn)在線預(yù)覽pdf功能,文中的示例代碼簡潔易懂,具有一定的借鑒價值,感興趣的小伙伴可以學(xué)習(xí)一下2023-10-10
基于vue實現(xiàn)網(wǎng)站前臺的權(quán)限管理(前后端分離實踐)
這篇文章主要介紹了基于vue實現(xiàn)網(wǎng)站前臺的權(quán)限管理(前后端分離實踐),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
如何封裝了一個vue移動端下拉加載下一頁數(shù)據(jù)的組件
這篇文章主要介紹了如何封裝了一個vue移動端下拉加載下一頁數(shù)據(jù)的組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01

