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