vue:vite 代理服務器 server: proxy 配置

Vite 代理服務器(Proxy)的配置通常用于開發環境,以解決跨域請求等問題。以下是一個詳細的配置步驟:

通過以上步驟,你就可以在 Vite 項目中配置代理服務器,以便在開發過程中方便地訪問后端服務。

  1. ?找到 Vite 配置文件?:

    • Vite 的配置文件通常為項目根目錄下的?vite.config.js?或?vite.config.ts。如果項目中沒有這個文件,可以手動創建一個。
  2. ?配置代理?:

    • 在?vite.config.js?或?vite.config.ts?文件中,通過?export default?導出一個配置對象,并在該對象中添加?proxy?屬性。proxy?屬性是一個對象,用于配置各個代理規則。
  3. ?定義代理規則?:

    • 每個代理規則都是一個以目標URL為鍵的對象。該對象可以包含以下屬性:
      • target:代理的目標地址,即后端服務的實際地址。
      • changeOrigin:是否改變源地址。通常設置為?true,以便代理服務器能夠正確識別請求的來源。
      • rewrite:重寫規則,用于修改請求的路徑或查詢參數等。
      • headers:自定義請求頭,用于在代理請求中添加額外的HTTP頭。
  4. ?示例配置?:

    以下是一個簡單的 Vite 代理配置示例:
    // vite.config.js
    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'// https://vite.dev/config/
    export default defineConfig({plugins: [vue()],server: {proxy: {'/api': {target: 'http://localhost:8000', // 后端服務地址changeOrigin: true, // 是否改變源地址rewrite: (path) => path.replace(/^\/api/, '')}}}    
    })

    在上面的示例中,所有以?/api?開頭的請求都會被代理到?http://localhost:8000,并且請求路徑中的?/api?前綴會被移除。

  5. 重啟 Vite?:npm run dev?

    • 配置完成后,需要重啟 Vite 開發服務器,以便使代理配置生效。
  6. ?使用代理?:

    • 在前端代碼中,你可以像訪問本地資源一樣訪問代理的后端服務。例如,如果你配置了代理?/api?到?http://localhost:8000,你可以在前端代碼中通過?fetch('/api/data')?來訪問?http://localhost:8000/data
  7. ?注意事項?:

    • 在設置代理后,建議在開發過程中禁用其他不必要的網絡請求,以減少潛在的安全風險。
    • 在生產環境中,通常不會使用代理,而是直接配置后端服務以允許跨域請求,或使用其他安全措施來保護網絡環境。
    • 如果以上簡單的 proxy 配置不能滿足您的需求,還可以安裝 http-proxy 中間件
      npm install?http-proxy-middleware --save-dev
      npm show?http-proxy-middleware
      http-proxy-middleware@3.0.3 | MIT | deps: 6 | versions: 88
      The one-liner node.js proxy middleware for connect, express, next.js and more
      https://github.com/chimurai/http-proxy-middleware#readme
    • 使用?http-proxy-middleware 示例:
      import { defineConfig } from 'vite'
      import vue from '@vitejs/plugin-vue'
      import { createProxyMiddleware } from 'http-proxy-middleware'// vite.config.js
      export default defineConfig({plugins: [vue()],server: {proxy: createProxyMiddleware({context: ['/api', '/auth'],target: 'http://localhost:8000', // 后端服務地址changeOrigin: true // 是否改變源地址})}    
      })
      

      ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896414.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896414.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896414.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DINOv2 + yolov8 + opencv 檢測卡車的可拉拽雨覆是否完全覆蓋

最近是接了一個需求咨詢圖像處理類的,甲方要在卡車過磅的地方裝一個攝像頭用檢測卡車的車斗雨覆是否完全, 讓我大致理了下需求并對技術核心做下預研究 開發一套圖像處理軟件,能夠實時監控經過的卡車并判斷其車斗的雨覆狀態。 系統需具備以下…

AI除了可以能提高工作效率的還可以實現哪些功能?

AI除了能顯著提高工作效率之外,其在眾多領域的潛力遠不止于此。 在教育領域,AI正逐步成為個性化教學的得力助手。通過分析學生的學習習慣和能力水平,AI能夠定制出最適合每個學生的學習計劃,不僅提升了學習效率,還極大地…

vscode settings(一):全局| 用戶設置常用的設置項

參考資料 Visual Studio Code權威指南 by 韓駿 一. 全局設置與用戶設置 1.1 Vscode支持兩種不同范圍的設置 用戶設置(User Settings):這是一個全局范圍的設置,會應用到所有的Visual Studio Code實例中。工作區設置(Workspace Settings):設…

ROS的action通信——實現階乘運算(二)

在ROS中除了常見的話題(topic)通信、服務(server)通信等方式,還有action通信這一方式,由于可以實時反饋任務完成情況,該通信方式被廣泛運用于機器人導航等任務中。本文將通過三個小節的分享,實現基于action通信的階乘運…

Spring Boot啟動過程?

目錄 1. 啟動入口 2. SpringApplication 初始化 3. 準備環境 4. 創建應用上下文(ApplicationContext) 5. 準備應用上下文 6. 刷新應用上下文 7. 啟動 Web 服務器(若為 Web 應用) 8. 發布 ApplicationStartedEvent 事件 9. 執行 Runner 10. 發布 ApplicationReady…

VUE 獲取視頻時長,無需修改數據庫,前提當前查看視頻可以得到時長

第一字段處 <el-table-column label"視頻時長" align"center"> <template slot-scope"scope"> <span>{{ formatDuration(scope.row.duration) }}</span> </template> </el-ta…

seacmsv9注入管理員賬號密碼+orderby+limit

一、seacmsv9 SQL注入漏洞 1.1 seacms漏洞介紹 海洋影視管理系統&#xff08;seacms&#xff0c;海洋cms&#xff09;是一套專為不同需求的站長而設計的視頻點播系統&#xff0c;采 用的是 php5.Xmysql 的架構&#xff0c;seacmsv9漏洞文件&#xff1a;./comment/api/index.p…

WPF學習之Prism(二)

前言 學習一下Prism。 1.Prism Prism框架提供了一套豐富的工具、類和模塊&#xff0c;幫助開發人員實現以下功能&#xff1a; 模塊化&#xff1a;Prism框架支持將應用程序拆分為多個模塊&#xff0c;每個模塊具有自己的功能和視圖。這種模塊化的設計使得應用程序更加靈活和…

【EB-03】 AUTOSAR builder與EB RTE集成

AUTOSAR builder與EB RTE集成 1. Import Arxml files to Tresos2. Run MultiTask Script3. Add Components3.1 Run EcuExtractCreator Script4. Mapping Component to Partitions5. Event Mapping/Runnables Mapping to Tasks6. Port Connect7. Run SvcAs_Trigger Script8. Ver…

算法教程:香檳塔問題

香檳塔問題 問題描述 我們將玻璃杯堆成金字塔狀,第一排有 1 個玻璃杯,第二排有 2 個玻璃杯,依此類推,直到第 100 排。每個玻璃杯裝一杯香檳。 然后,將一些香檳倒入最上面的第一個玻璃杯中。當最上面的玻璃杯裝滿時,任何多余的液體都會均勻地落到它左右兩側的玻璃杯上。當…

FastJSON 默認行為:JSON.toJSONString 忽略 null 字段

完整的 FakeRegistrationController 代碼&#xff0c;這讓我可以全面分析后端邏輯&#xff0c;特別是為什么空的字段&#xff08;如 compareDate&#xff09;不返回給前端。我將詳細分析代碼的每個接口&#xff0c;尤其是與 list 請求和字段返回相關的部分&#xff0c;并解釋原…

大模型基礎概念之神經網絡寬度

在大模型中,神經網絡寬度是提升模型容量的核心手段之一,與深度、數據規模共同構成性能的三大支柱。合理增加寬度可顯著增強模型表達能力,但需結合正則化、硬件優化和結構設計進行平衡。未來趨勢可能包括動態寬度調整、稀疏化寬度設計(如MoE)以及更高效寬度-深度復合縮放策…

在Linux環境下利用MTCNN進行人臉檢測(基于ncnn架構)

概述 本文將詳細介紹如何在Linux環境下部署MTCNN模型進行人臉檢測&#xff0c;并使用NCNN框架進行推理。 1. CMake的安裝與配置 下載CMake源碼 前往CMake官網下載&#xff0c;找到適合您系統的最新版本tar.gz文件鏈接&#xff0c;或者直接通過wget下載&#xff1a;CMake官方…

算法day1 dfs搜索2題

一 火星人 拿到這種類似于排序的&#xff0c;這個就好比如我們之前學習dfs基礎的時候里面的指數型枚舉 指數型枚舉數據與數據之間沒有任何枚舉&#xff0c;就比如選這個數字與不選組合型枚舉數據與數據之間有聯系&#xff0c;下一個數字不可以給上一個數字排列型枚舉數據與數…

CC攻擊防御策略全解析:技術實現與代碼示例

CC攻擊&#xff08;Challenge Collapsar&#xff09;是一種以消耗服務器資源為目標的分布式拒絕服務攻擊&#xff08;DDoS&#xff09;&#xff0c;其特點在于攻擊流量偽裝成合法請求&#xff0c;難以通過傳統防火墻完全防御。本文將從技術實現角度詳細解析CC攻擊的防御策略&am…

(九)axios的使用

1、axios 的基本使用 1.1、簡介 在 Web 開發的演進歷程中&#xff0c;數據請求方式的變革至關重要。回溯早期&#xff0c;舊瀏覽器在向服務器請求數據時&#xff0c;存在嚴重弊端。由于返回的是整個頁面數據&#xff0c;每次請求都會導致頁面強制刷新&#xff0c;這不僅極大地…

【MySQL篇】數據庫基礎

目錄 1&#xff0c;什么是數據庫&#xff1f; 2&#xff0c;主流數據庫 3&#xff0c;MySQL介紹 1&#xff0c;MySQL架構 2&#xff0c;SQL分類 3&#xff0c;MySQL存儲引擎 1&#xff0c;什么是數據庫&#xff1f; 數據庫&#xff08;Database&#xff0c;簡稱DB&#xf…

網絡安全事件研判

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取網絡安全全套資料&#xff0c;資料在手&#xff0c;漲薪更快 研判&#xff08;入侵檢測&#xff09; 研判我理解為人工層面對入侵檢測事件進行再分析&#xff0c;即借助已有的設備告警根據經驗判斷是否為真實action 研判工作…

python整理文件下

我們使用 os.path.join() 函數拼接出文件要移動的目標地址。 并使用 os.path.exists() 函數配合 not 關鍵字找到未創建的文件夾。 這節課&#xff0c;我們會先創建文件夾&#xff0c;然后再移動文件到目標文件夾。如果文件夾不存在&#xff0c;我們需要先創建文件夾&#xff…

hackmyvm-buster

題目地址 信息收集 主機發現 ┌──(root?kali)-[/home/kali] └─# arp-scan -I eth1 192.168.56.0/24 Interface: eth1, type: EN10MB, MAC: 00:0c:29:34:da:f5, IPv4: 192.168.56.103 WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied WARNING: C…