新聞中心
怎么在Vue中配置多環(huán)境代理?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)成立于2013年,先為華安等服務(wù)建站,華安等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為華安企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
解決思路:
1.開發(fā)中定義常量js文件,例如constants.js。用戶存放各個服務(wù)需要代理的服務(wù)名。
let api = "" let loginServer = "/loginServer" let businessServer = "/businessServe" if(process.env.NODE_ENV == "development"){ api = "/api" loginServer = api + LoginServer businessServer = api + businessServer } export { loginServer, businessServer }
其中api為代理規(guī)則中配置,loginServer為服務(wù)名,可根據(jù)業(yè)務(wù)需要替換在實際的業(yè)務(wù)中就可以這么用
import {loginServer} from 'constants' function login(params){ return axios.post(loginServer+"/login",params) }
其中 loginServer為服務(wù)名,login為方法名,params為參數(shù)。
在vue.config.js中配置代理
modules.exports = { publicPath:"/" , devServer: { port: 8080, proxy:{ '/api/loginServer':{ target:"http://localhost:8080", ws:true, changeOrigin:true, pathRewrite:{ '^/api':'/' } }, '/api/businessServer':{ target:"http://localhost:8081", ws:true, changeOrigin:true, pathRewrite:{ '^/api':'/' } } } } }
這么配置可以滿足需求,但是會有多人改動vue.config.js的情況,造成以上說的錯誤。
解決方案:
vue中提供了 --mode 模式,并提供了 .env.local 等文件,此文件被git忽略,且可根據(jù)當(dāng)前 mode設(shè)置的值尋找環(huán)境變量配置,例如 --mode=dev ,則.env.dev.local 或.env.dev 等文件中的配置會生效,.local文件會被git忽略,因此咱們用這個,--mode設(shè)置在 package.json中,在npm run serve 中添加
script:{ "serve":"vue-cli-service serve --mode=dev" }
在項目根目錄下jianli .env.dev.local文件,文件中添加 以下鍵值對(此文件中只接受鍵值對
)
.env.dev.local
loginServerURL =http://localhost:8080 businessServerURL = http://localhost:8081
當(dāng)然可根據(jù)不同的模式建立不同的local文件
.env.prod.local等
vue.config.js中改寫
modules.exports = { publicPath:"/" , devServer: { port: 8080, proxy:{ '/api/loginServer':{ target:process.env.loginServerURL?process.env.loginServerURL:"httpL//localhost:8080", ws:true, changeOrigin:true, pathRewrite:{ '^/api':'/' } }, '/api/businessServer':{ target:process.env.loginServerURL?process.env.businessServerURL :"http://localhost:8081", ws:true, changeOrigin:true, pathRewrite:{ '^/api':'/' } } } } }
Vue的優(yōu)點
Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗。
關(guān)于怎么在Vue中配置多環(huán)境代理問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
當(dāng)前名稱:怎么在Vue中配置多環(huán)境代理
網(wǎng)站URL:http://fisionsoft.com.cn/article/ihedoe.html