Vue無(wú)法訪問(wèn).env.development定義的變量值問(wèn)題及解決
Vue無(wú)法訪問(wèn).env.development定義的變量值
在.env.development定義變量時(shí),發(fā)現(xiàn)獲取不取值。
比方:原來(lái)的定義的一個(gè)變量,是可以訪問(wèn)的
VUE_APP_BASE_API = '/dev-api'
上面的是可以訪問(wèn)的
后來(lái)發(fā)現(xiàn)有多個(gè)接口,需要調(diào)用不同地址訪問(wèn),就需要配置多個(gè)代理服務(wù)器的IP,我自己又定義了一個(gè)服務(wù)器地址:APP_DEV_USER_API = ‘/devApi’
輸出是:undefined
后來(lái)翻看官方文檔發(fā)現(xiàn)定義變量必須以:VUE_APP_XXXX 開頭
VUE_APP_PRO_API = '/proApi'
vue中.env | .env.development | .env.production使用
.env
——全局默認(rèn)配置文件,無(wú)論什么環(huán)境都會(huì)加載合并.env.development
——開發(fā)環(huán)境下的配置文件.env.production
——生產(chǎn)環(huán)境下的配置文件
注意:屬性名必須以VUE_APP_開頭,比如VUE_APP_xxx = "變量"
首先在跟目錄創(chuàng)建三個(gè)文件
分別是.env.development、.env.production、.env.staging三個(gè)文件
# 頁(yè)面標(biāo)題 VUE_APP_TITLE = 若依管理系統(tǒng) // .env.development文件里編寫,NODE_ENV default is development # 開發(fā)環(huán)境配置 ENV = 'development' # 若依管理系統(tǒng)/開發(fā)環(huán)境 VUE_APP_BASE_API = '/dev-api' # 路由懶加載 VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 頁(yè)面標(biāo)題 VUE_APP_TITLE = 若依管理系統(tǒng) # 生產(chǎn)環(huán)境配置 ENV = 'production' # 若依管理系統(tǒng)/生產(chǎn)環(huán)境 VUE_APP_BASE_API = '/prod-api' // .env.production文件里編寫 NODE_ENV default is production
# 頁(yè)面標(biāo)題 VUE_APP_TITLE = 若依管理系統(tǒng) NODE_ENV = production # 測(cè)試環(huán)境配置 ENV = 'staging' # 若依管理系統(tǒng)/測(cè)試環(huán)境 VUE_APP_BASE_API = '/stage-api'
vue-cli-service build 自定義參數(shù)
vue-cli-service build
(1)**作用:**是打包資源文件
(2)**工具:**通過(guò)腳手架依賴的dotenv模塊實(shí)現(xiàn)參數(shù)定義和讀取
(3)**原理:**detenv作用是將環(huán)境變量從.env文件加載到process.env中,代碼就可以通過(guò)process.env.VUE_APP_XX訪問(wèn)自定義的VUE_APP_XX的值了
在vue-cli-service的packjson中切換環(huán)境
(1) 在運(yùn)行時(shí)如果需要區(qū)分生產(chǎn)環(huán)境和測(cè)試環(huán)境,只需要
“scriptes”: { “serve”: “vue-cli-service serve”, // 會(huì)將process.env.NODE_ENV設(shè)置為development “build”: “vue-cli-service build” // 會(huì)將process.env.NODE_ENV設(shè)置為production }
(2)在build時(shí)在dist/目錄會(huì)有用于生產(chǎn)環(huán)境的包,需要添加選項(xiàng)–mode區(qū)分測(cè)試環(huán)境和生產(chǎn)環(huán)境
“scripts”: { “build:test”: “vue-cli-service build --mode test”, // 測(cè)試環(huán)境 “build:prod”: “vue-cli-service build --mode prod”, // 生產(chǎn)環(huán)境 },
"build:dev": "vue-cli-service build --mode dev",?? ?// 打包開發(fā)環(huán)境 "build:test": "vue-cli-service build --mode test",?? ?// 打包集成測(cè)試 "build:uat": "vue-cli-service build --mode uat",?? ?// 打包驗(yàn)收測(cè)試 "build:prod": "vue-cli-service build --mode prod",?? ?// 打包生產(chǎn)環(huán)境
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue 實(shí)現(xiàn)高級(jí)穿梭框 Transfer 封裝過(guò)程
本文介紹了基于Vue2和Element-UI實(shí)現(xiàn)的高級(jí)穿梭框組件Transfer的設(shè)計(jì)與技術(shù)方案,組件支持多項(xiàng)選擇,并能實(shí)時(shí)同步已選擇項(xiàng),包含豎版和橫版設(shè)計(jì)稿,并提供了組件的使用方法和源碼,此組件具備本地分頁(yè)和搜索功能,適用于需要在兩個(gè)列表間進(jìn)行數(shù)據(jù)選擇和同步的場(chǎng)景2024-09-09vue3通過(guò)ref獲取子組件defineExpose的數(shù)據(jù)和方法
defineExpose是Vue3中新增的選項(xiàng),用于向父組件暴露子組件內(nèi)部的屬性和方法,通過(guò)defineExpose,子組件可以主動(dòng)控制哪些屬性和方法可以被父組件訪問(wèn),本文主要介紹了vue3通過(guò)ref獲取子組件defineExpose的數(shù)據(jù)和方法,需要的朋友可以參考下2023-10-10Vue?中的?computed?和?watch?的區(qū)別詳解
這篇文章主要介紹了Vue中的computed和watch的區(qū)別詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09npm?ERR!?code?E404在vscode安裝插件時(shí)報(bào)錯(cuò)的兩種解決方案
這篇文章主要給大家介紹了關(guān)于npm?ERR!?code?E404在vscode安裝插件時(shí)報(bào)錯(cuò)的兩種解決方案,關(guān)于這個(gè)問(wèn)題,通常是由于插件名稱輸入錯(cuò)誤、網(wǎng)絡(luò)問(wèn)題或插件已被刪除引起的,文中將兩種解決方法都介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04vue+element實(shí)現(xiàn)下拉菜單并帶本地搜索功能示例詳解
這篇文章主要介紹了vue+element實(shí)現(xiàn)下拉菜單并帶本地搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09vue3使用el-table實(shí)現(xiàn)新舊數(shù)據(jù)對(duì)比的代碼詳解
這篇文章主要為大家詳細(xì)介紹了在vue3中使用el-table實(shí)現(xiàn)新舊數(shù)據(jù)對(duì)比,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下2023-12-12父組件中vuex方法更新state子組件不能及時(shí)更新并渲染的完美解決方法
這篇文章主要介紹了父組件中vuex方法更新state子組件不能及時(shí)更新并渲染的完美解決方法,需要的朋友可以參考下2018-04-04解決vue.js出現(xiàn)Vue.js not detected錯(cuò)誤的問(wèn)題
這篇文章主要介紹了解決vue.js出現(xiàn)Vue.js not detected錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10