Vite配置代理Proxy解決跨域問題小結(jié)
前言
我們?cè)诰帉懬岸隧?xiàng)目的時(shí)候,經(jīng)常會(huì)遇到跨域的問題,當(dāng)我們?cè)L問后端 API 的 URL 路徑時(shí),只要域名、端口或訪問協(xié)議(如 HTTP 和 HTTPS)有一項(xiàng)不同,就會(huì)被瀏覽器認(rèn)定為跨域。另外我們也會(huì)經(jīng)常重復(fù)編寫后端的域名,例如 https://example.com/api/some_end_point
,https://example.com/api/other_end_point
,針對(duì)這兩種情況,可以直接用同一個(gè)配置來解決,即代理配置。?
不管是 Vite 還是 Webpack,這些打包工具都支持設(shè)置前端代理,它們能夠把對(duì)某一段 URL 的訪問直接轉(zhuǎn)換成另一個(gè)真實(shí)的后端 API 地址,這樣前后端就視為使用了相同的域名、協(xié)議和端口,就避免了跨域的問題,還能避免繁瑣的反復(fù)編寫域名。
配置 Vite Proxy
我們這里以 Vite 的配置為例,來看一下如何給 API 請(qǐng)求設(shè)置代理。在 Vite 編寫的項(xiàng)目里邊,有一個(gè) vite.config.js
配置文件,里邊是關(guān)于 Vite 的配置項(xiàng),可以在里邊配置代理。假如我們前端項(xiàng)目路徑為 http://localhost:3000
,需要代理所有以 /api
開頭的 API 請(qǐng)求,把它轉(zhuǎn)發(fā)到 http://localhost:3001
,并且后端的 API 路徑中不帶 /api
前綴,需要自動(dòng)去掉 /api
前綴,如下圖所示:
// vite.config.js import { defineConfig } from "vite"; export default defineConfig({ server: { proxy: { "/api": { target: "http://localhost:3001", changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ""), }, }, }, });
之后重啟項(xiàng)目就可以了
小結(jié)?
前端跨域問題其實(shí)是一個(gè)安全問題,就是為了防止不同域名的服務(wù)之間進(jìn)行互相訪問,以避免惡意程序?qū)蠖速Y源進(jìn)行非法獲取。在開發(fā)的時(shí)候,我們就可以利用代理來把請(qǐng)求進(jìn)行代理,把域名等改成一樣的,這樣就避免了跨越的問題。在 Vite 中設(shè)置代理,是在 vite.config.js
配置文件里,配置 server
屬性,并在里邊配置 proxy
配置項(xiàng)。代理可以配置多個(gè),根據(jù)不同的 API 路徑去請(qǐng)求不同的后端路徑,本文里只配置了一個(gè) /api
作為演示。
總結(jié)
到此這篇關(guān)于Vite配置代理Proxy解決跨域問題的文章就介紹到這了,更多相關(guān)Vite配置代理Proxy解決跨域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue實(shí)現(xiàn)的上傳圖片到數(shù)據(jù)庫(kù)并顯示到頁面功能示例
這篇文章主要介紹了vue實(shí)現(xiàn)的上傳圖片到數(shù)據(jù)庫(kù)并顯示到頁面功能,結(jié)合實(shí)例形式分析了基于vue.js的數(shù)據(jù)庫(kù)操作及頁面圖片顯示相關(guān)操作技巧,需要的朋友可以參考下2018-03-03Vue常見報(bào)錯(cuò)以及解決方案實(shí)例總結(jié)
最近做了一個(gè)比較老的vue項(xiàng)目,啟動(dòng)居然各種報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Vue常見報(bào)錯(cuò)以及解決方案的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Vue用v-for給循環(huán)標(biāo)簽自身屬性添加屬性值的方法
這篇文章主要介紹了Vue用v-for給循環(huán)標(biāo)簽自身屬性添加屬性值的方法,文中大家給大家列舉了三種方法 ,需要的朋友可以參考下2018-10-10vue如何通過點(diǎn)擊事件實(shí)現(xiàn)頁面跳轉(zhuǎn)詳解
頁面跳轉(zhuǎn),我們一般都通過路由跳轉(zhuǎn)實(shí)現(xiàn),通常情況下可直接使用router-link標(biāo)簽實(shí)現(xiàn)頁面跳轉(zhuǎn),下面這篇文章主要給大家介紹了關(guān)于vue如何通過點(diǎn)擊事件實(shí)現(xiàn)頁面跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2022-07-07vue之郵箱、密碼、手機(jī)號(hào)碼等輸入驗(yàn)證規(guī)則說明
這篇文章主要介紹了vue之郵箱、密碼、手機(jī)號(hào)碼等輸入驗(yàn)證規(guī)則說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue 實(shí)現(xiàn)點(diǎn)擊空白處隱藏某節(jié)點(diǎn)的三種方式(指令、普通、遮罩)
最近小編接到這樣的需求:彈出框(或Popover)在 show 后,點(diǎn)擊空白處可以將其 hide。針對(duì)這個(gè)需求,小編整理了三種實(shí)現(xiàn)方式,如果大家對(duì)vue 點(diǎn)擊空白隱藏節(jié)點(diǎn)問題感興趣的朋友跟隨小編一起看看吧2019-10-10vue-resouce設(shè)置請(qǐng)求頭的三種方法
本篇文章主要介紹了vue-resouce設(shè)置請(qǐng)求頭的三種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn)
本文主要介紹了vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Vue中如何實(shí)現(xiàn)在線預(yù)覽word文件、excel文件
這篇文章主要介紹了Vue中如何實(shí)現(xiàn)在線預(yù)覽word文件、excel文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07