vue環(huán)境變量配置之process.env解讀
vue環(huán)境變量配置process.env
在用vue框架時(shí),經(jīng)常用到兩種環(huán)境,一種是開發(fā)環(huán)境,就是本地開發(fā)時(shí)的環(huán)境,一種是生產(chǎn)環(huán)境,就是要發(fā)布到線上的環(huán)境。
平時(shí)開發(fā)是用生產(chǎn)環(huán)境的,如果發(fā)布到線上時(shí),需要切換環(huán)境為線上。如果人為去切換也是可以的,但是會容易忘記,可以通過配置不同的運(yùn)行命令來自動切換環(huán)境。
下面開始:
配置環(huán)境的實(shí)現(xiàn)原理
實(shí)現(xiàn)原理就是采用node.js頂層對象中的process.env(進(jìn)程環(huán)境,返回一個(gè)包含用戶環(huán)境信息的對象)屬性,根據(jù)各個(gè)環(huán)境的配置文件區(qū)分和切換環(huán)境
具體實(shí)例
1. 安裝依賴
npm install process
2.創(chuàng)建.env.dev 和.env.prod兩個(gè)文件
注意文件要?jiǎng)?chuàng)建在根目錄下面
.env.dev文件內(nèi)容如下:
NODE_ENV = 'development' VUE_APP_TITLE = 'development' /* 請求接口地址 */ VUE_APP_INTERFACE_URL="https://xxx" /* proxy代理地址 */ VUE_APP_PROXYURL='http://xxx'
.env.prod文件內(nèi)容如下:
NODE_ENV='production' VUE_APP_TITLE='prod' /* 請求接口地址 */ VUE_APP_INTERFACE="https://xxx"
3.設(shè)置項(xiàng)目啟動時(shí)默認(rèn)的環(huán)境
只需要在項(xiàng)目啟動命令后面修改需要的環(huán)境就行了,例如npm run dev,把--mode dev改為--mode prod就變成了開發(fā)環(huán)境
package.json部分內(nèi)容如下:
"scripts":{ ?? ?"dev":"vue-cli-service serve --mode dev", ?? ?"prod":"vue-cli-service serve --mode prod" }
4.查看環(huán)境是否配置成功
在main.js文件中打印當(dāng)前環(huán)境,輸出就成功了
console.log(process.env.NODE_ENV)
vue3 process.env.XXX環(huán)境變量不生效
問題
使用process.env.XXX時(shí)獲取不到環(huán)境變量的值:
axios.defaults.baseURL = process.env.VUE_APP_BASE_API;
解決
項(xiàng)目根目錄下的.env.development和.env.production環(huán)境配置文件中,NODE_ENV=development的值必須和package.json文件啟動配置--mode一致
//.env.development NODE_ENV=development VUE_APP_BASE_API=/api VUE_APP_BASE_URL=http://localhost:8081/ VUE_APP_PROXYURL=http://localhost:8080/
"scripts": { ? ? ? ? "serve": "vue-cli-service serve", ? ? ? ? "dev": "vue-cli-service serve --mode development", ? ? ? ? "prod": "vue-cli-service serve --mode production", ? ? },
.env.development和.env.production環(huán)境配置文件中變量名必須以VUE_APP_開頭
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue axios調(diào)用接口方法報(bào)錯(cuò)500 internal server err
前端使用axios 訪問后端接口時(shí)報(bào)錯(cuò),在瀏覽器中點(diǎn)擊紅色的報(bào)錯(cuò)數(shù)據(jù),本文給大家分享vue axios調(diào)用接口方法報(bào)錯(cuò)500 internal server error的兩種解決方法,感興趣的朋友一起看看吧2023-10-10sortable+element 實(shí)現(xiàn)表格行拖拽的方法示例
這篇文章主要介紹了sortable+element 實(shí)現(xiàn)表格行拖拽的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06基于Vue2實(shí)現(xiàn)簡易的省市區(qū)縣三級聯(lián)動組件效果
這是一個(gè)基于Vue2的簡易省市區(qū)縣三級聯(lián)動組件,可以控制只顯示省級或只顯示省市兩級,可設(shè)置默認(rèn)值等。提供原始省市縣代碼和名稱數(shù)據(jù),適用于各種有關(guān)城市區(qū)縣的應(yīng)用。需要的朋友可以參考下2018-11-11