網站首頁 Vue 正文
跨域一直是很煩人問題,不過好現在現在跨域,大部分都是肛后端,后端設置CORS信息即可。
但是也有少部分,可能前端能完成的事前端搞定就行了,懶得麻煩后端,這種情況一般都是進行反代。
使用場景
后端提供了一個在線api地址,但是該地址段和本地localhost不在同一域名下,所以產生了跨域。
配置反代 proxy
這種情況,我們的vue-cli提供了一個很好的功能,反代。
首先我們需要找到vue cli的配置文件:vue.config.js,他存在項目的根目錄,和package.json同級,如果沒有,手動創建即可,只是一個js文件而已。
打開文件填入以下信息:
vue.config.js
這里我講下這段代碼做了什么?
首先,他將https://www.baidu.com這個地址段反代成了本地地址段下的一個連接:
http://localhost:8080/api
這個本地地址段的前段是跟你本地項目地址一樣的,如果端口是8081,那么他也是8081。
此時你會發現他這個http://localhost:8080/api和你的本地項目在同一個域名下,所以跨域問題就不存在了。
那么我們看下他有哪些配置:target 這個就是api地址了,后端給你什么,你就填什么
ws 默認true就行了
changeOrigin 默認true
pathRewrite 這個是重寫路徑,我們著重講下這個
pathRewrite 什么意思?
首先我們要知道反代后,我們的請求地址是誰?
請求地址:http://localhost:8080/api
假設我們的登錄地址api路徑是:/admin/login
那么請求地址就是:http://localhost:8080/api/admin/login
這個地址就對應真實的請求地址:https://www.baidu.com/admin/login
那么我們先比對下沒有反代和反代后的api請求地址段:
無反代:https://www.baidu.com/admin/login
反代:http://localhost:8080/api/admin/login
你會發現除卻域名和端口,反代他多個api地址段,而pathRewrite 的作用就是在反代的時候,發送給真實端口請求時,將api字段去掉。
那么就有人說了,既然是去掉,為什么上面設置的參數為/,而不是''空字符呢。
事實上這兩種都可以,他們的意思是一樣的。所以用誰都可以。
使用體驗
測試反代非常好用,當然他還有很多設置,如果你有需要可以自行搜索引擎搜索查看。
反代會將你的請求完整的發送給真實地址段,并且像頭信息那些,也是原模原樣發送的,所以不用擔心反代后,參數不對了。
原文鏈接:https://blog.csdn.net/weixin_34382844/article/details/111954309
相關推薦
- 2022-10-11 delphi fmx android 屏幕分辨率
- 2024-03-04 echarts 柱狀圖,單獨一根柱子根據條件改變顏色
- 2022-04-26 jquery實現拖拽table表頭改變列寬_jquery
- 2022-12-09 python進階collections標準庫使用示例詳解_python
- 2022-10-22 BroadcastReceiver靜態注冊案例詳解_Android
- 2022-05-17 IDEA使用Tomcat
- 2023-05-08 Linux?C/C++?timeout命令實現運行具有時間限制功能_C 語言
- 2022-04-01 OpenCV實現簡單錄屏功能_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支