vue-cli3 中跨域解決方案

来源:https://www.cnblogs.com/whnba/archive/2019/04/09/10680010.html
-Advertisement-
Play Games

此方案只能用於開發環境,線上最好設置同源策略(遇到個後端,裝你媽批) 前後端不在同一伺服器的情況下,前端要訪問後端API,可通過在vue.config.js中配置代理伺服器。 0:前提條件 1:安裝vue-lic 2:安裝axios 用於發送請求。 1:將任何未知請求轉發到代理伺服器 如: 前端地址 ...


此方案只能用於開發環境,線上最好設置同源策略(遇到個後端,裝你媽批)

前後端不在同一伺服器的情況下,前端要訪問後端API,可通過在vue.config.js中配置代理伺服器。

0:前提條件

1:安裝vue-lic

2:安裝axios  用於發送請求。

 

1:將任何未知請求轉發到代理伺服器

如:

前端地址:127.0.0.1

後端地址:127.0.0.2

當訪問地址為 127.0.0.1/api,沒有匹配到這地址,那麼就會被轉發到代理伺服器127.0.0.2/api

module.exports={
    devServer:{
        proxy: "http://www.acfun.cn"
    }
}

 

2:多代理控制

更多代理服務配置項搜索http-proxy-middleware查看

module.exports = {
    devServer: {
        proxy: {
            '/search': {    // search為轉發路徑
                target: 'http://www.acfun.cn',  // 目標地址
                ws: true, // 是否代理websockets
                changeOrigin: true   // 設置同源  預設false,是否需要改變原始主機頭為目標URL,               
            }
        }
    }
};

 

如:

當前訪問地址為  xxx.xxx.xxx/search時,就會被轉發到代理伺服器http://www.acfun.cn/search

xxx.xxx.xxx/search -> http://www.acfun.cn/search

 

3:實例

api.js 文件(主要用於全局配置)

import Axios from "axios";

let http = Axios.create({
    timeout: 3000,   //超時配置 3秒
    responseType: 'json',   // 響應數據格式
    responseEncoding: 'utf8',  // 響應數據編碼
});

export default http;

 

入口文件  main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import http from "./api";   // 引用axios全局配置

Vue.config.productionTip = false;

Vue.prototype.$http = http;   // 添加原型方法,這樣創建的對象就自帶該方法了。

new Vue({
    router,
    render: h => h(App)
}).$mount("#app");

 

vue.config.js 配置文件

更多代理服務配置項搜索http-proxy-middleware查看

module.exports = {
    devServer: {
        proxy: {
            '/search': {
                target: 'http://www.acfun.cn',
                ws: true,//是否代理websockets
                changeOrigin: true   // 設置同源  預設false,是否需要改變原始主機頭為目標URL
            }
        }
    }
};

 

然後在vue實例對象中直接訪問$http方法就行。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 遠程伺服器間數據文件交互,可用技術:rsync,scp 速度:rsync是非加密傳輸,比scp快 安全:scp為加密傳輸 備份體量:rsync只更新差異部分,可以做增量和全量備份。scp為全量 傳輸方式:rsync為分塊檢驗+傳輸,如果某部分有改動時,只需更新改動部分。而scp則需要全部 rsync ...
  • 一、Hive安裝配置 1.登陸hive官網下載安裝包,本人使用的是1.2.2版本 官網:http://hive.apache.org/ 2.將安裝包上傳到Linux集群解壓並重命名為hive-1.2.2 3.進入hive下的conf目錄,重命名hive-env.sh.template為hive-en ...
  • 一、Hive概述 1.Hive簡介 Hive數據倉庫軟體有助於使用SQL讀取、編寫和管理駐留在分散式存儲中的大型數據集。提供了命令行工具和JDBC驅動程式以將用戶連接到Hive。 Hive可以將SQL語句自動轉化為Mapreduce程式,節省了手寫框架的困難。 2.Hive優缺點 優點:1)操作介面 ...
  • 1.為什麼要集成騰訊 X5 瀏覽器內核 X5內核相對於系統webview,具有下述明顯優勢: 1) 速度快:相比系統webview的網頁打開速度有30+%的提升; 2) 省流量:使用雲端優化技術使流量節省20+%; 3) 更安全:安全問題可以在24小時內修複; 4) 更穩定:經過億級用戶的使用考驗, ...
  • 文章大綱 一、應用市場排行榜介紹二、應用市場上架介紹三、應用市場首發介紹四、參考文檔 一、應用市場排行榜介紹 iiMedia Research(艾媒咨詢)權威發佈《2017-2018中國移動應用商店市場監測報告》。數據顯示,截止至2017年第四季度,我國第三方移動應用商店活躍用戶達4.64億人,較上 ...
  • 一、本博客介紹的是登錄界面的一些操作其中包括界面跳轉,輸入用戶名密碼註冊登錄等功能。1、界面的設計 <?xml version="1.0" encoding="utf-8"?> </LinearLayout> <LinearLayout android:layout_width="wrap_cont ...
  • :-1: Multiple commands produce '/Users/apple/Library/Developer/Xcode/DerivedData/Pic-frfhvoheijeiybfkgglgxywajidn/Build/Products/Debug-iphoneos/Pic.ap ...
  • 1.demo總結 2.第三方使用 一、demo總結 1.選擇相冊單張照片 二、第三方使用 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...