最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用反向代理解決跨域問題方案

 更新時(shí)間:2023年01月10日 16:59:21   作者:xiaoxiaok  
這篇文章主要為大家介紹了vue使用反向代理解決跨域問題方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

為什么要解決跨域問題

因?yàn)闉g覽器有限制,只有同域名同端口號(hào)下的數(shù)據(jù)才能拿來用;

那如果想拿到不同域名不同端口號(hào)下的數(shù)據(jù)就不行了;

在單文件組件中如何去解決跨域問題

因?yàn)榉?wù)器沒有跨域限制,只有瀏覽器有跨域限制,所以我們可以通過我們自己的服務(wù)器去拿回后端服務(wù)器接口的數(shù)據(jù),再傳給前端; 我們自己的服務(wù)器是:?jiǎn)?dòng)單文件組件項(xiàng)目會(huì)啟動(dòng)一臺(tái)8080端口號(hào)的服務(wù)器;

解決跨域問題需要配置反向代理代碼; 如何配置反向代理代碼:

用axios向后端數(shù)據(jù)接口發(fā)起請(qǐng)求,拿回?cái)?shù)據(jù):

在App.vue中引入axios模塊,沒下載的先下載: 下載:

npm i --save axios 引入 axios模塊:

import axios from 'axios' 發(fā)axios請(qǐng)求:

后端數(shù)據(jù)接口:貓眼驗(yàn)證中心

mounted () {
    axios.get('/api/mmdb/movie/v3/list/hot.json?ct=%E6%89%AC%E5%B7%9E&ci=120&channelId=4')
    .then(res => {
      console.log(res.data.hot)
    })

配置反向代理

在項(xiàng)目文件夾下新建一個(gè) vue.config.js 的文件,然后寫上下面這段代碼(可參照下面的配置模板文件):

module.exports = {
  //配置反向代理
    port: 8080,
    host: 'localhost', // ip 本地
    open: true,
    proxy: {
      "/api": {
        target: `http://10.43.8.102:55555/`,
        changeOrigin: true,
        ws: true, // 是否代理websockets
        pathRewrite: {
          "/api": ""
        }
      }
    }
}

注意: 寫好配置代碼以后,要重新運(yùn)行項(xiàng)目,重啟服務(wù)器;

配置模板文件及字段解釋

module.exports = {
    devServer: {
        port: 8080, // 設(shè)置端口號(hào)
        host: 'localhost', // ip 本地
        disableHostCheck: true, //是否關(guān)閉用于 DNS 重綁定的 HTTP 請(qǐng)求的 HOST 檢查
        hotOnly: false, // 熱更新
        https: false, // https:{type:Boolean}配置前綴
        open: false, //配置自動(dòng)啟動(dòng)瀏覽器
        proxy: null,  //設(shè)置代理
        proxy: { //目的是解決跨域,若測(cè)試環(huán)境不需要跨域,則不需要進(jìn)行該配置
            '/api': { // 攔截以 /api 開頭的url接口
                target: 'http://localhost:5140/api', //目標(biāo)接口域名
                changeOrigin: true, //是否跨域
                ws: true, //如果要代理 websockets,配置這個(gè)參數(shù)
                secure: false, // 如果是https接口,需要配置這個(gè)參數(shù)
                // 標(biāo)識(shí)替換
                // 原請(qǐng)求地址為 /api/getData 將'/api'替換''時(shí),
                // 代理后的請(qǐng)求地址為: http://xxx.xxx.xxx/getData
                // 若替換為'/other',則代理后的請(qǐng)求地址為 http://xxx.xxx.xxx/other/getData 
                pathRewrite: { // 標(biāo)識(shí)替換
                    '^/api': ''   //重寫接口 后臺(tái)接口指向不統(tǒng)一  所以指向所有/
                }
            }
        }
    },
}

整個(gè)配置反向代理的思路

我們要配置反向代理的原因是:因?yàn)榭缬騿栴}我們直接拿不到跟我們不同域名不同端口號(hào)下的數(shù)據(jù),這是瀏覽器的跨域限制,我們不能在瀏覽器上顯示后端的數(shù)據(jù),但是服務(wù)器端沒有跨域限制,所以可以讓我們自己的服務(wù)器(項(xiàng)目運(yùn)行,會(huì)啟動(dòng)一臺(tái)服務(wù)器),去請(qǐng)求后端服務(wù)器,拿到數(shù)據(jù),然后再傳給我們前端。 如何拿呢:按照上面的代碼進(jìn)行配置,axios.get后面的請(qǐng)求地址,原本是:第一張圖這樣子,

但是我們把前面域名給去掉,往下面這個(gè)接口發(fā)請(qǐng)求:

反向代理服務(wù)器的應(yīng)用:往這個(gè)接口發(fā)請(qǐng)求,被攔截到了,凡是往這個(gè)接口發(fā)請(qǐng)求的,反向代理服務(wù)器,會(huì)在前面加上target域名 ,往真實(shí)的地址去請(qǐng)求。

配置信息:

只要是前端往‘/api’這個(gè)接口發(fā)請(qǐng)求的,前面都加上target里的這個(gè)域名,此時(shí)我們自己的服務(wù)器就知道最后是往這個(gè)地址請(qǐng)求數(shù)據(jù):

解決接口重復(fù)問題

有時(shí)候會(huì)發(fā)現(xiàn)同一個(gè)接口的域名可能不一樣,我們只需要拿指定域名的數(shù)據(jù),比如說“/api”這個(gè)接口名字一樣,但是這個(gè)接口前面的域名不一樣,也就是兩個(gè)不一樣的地址,剛好就“api”這個(gè)名字重復(fù)了,如果還像上面那樣配置的話,它就把所有“api”接口的地址前面全加上了一個(gè)域名。

解決辦法:我們可以在加一個(gè)自定義接口,格式:“/名稱”,例如:前面加個(gè)“/yiyi”:

然后在配置文件中加一個(gè)屬性:pathRewrite

devServer: {
    proxy: {
      '/yiyi': {
        target: 'https://i.maoyan.com',
        changeOrigin: true,
        //路徑重寫
        pathRewrite: {
          '^/yiyi': ''
        }
      }
    }
  }

把“/api”改成“/yiyi”,然后加上一個(gè)pathRewrite屬性,含義是路徑重寫,把自定義這個(gè)接口換成空,意思就是先按照“yiyi”這個(gè)名稱去選出App.vue里“/yiyi”的接口,選出來后再把加的yiyi接口賦值為空,這樣就可以避免和其他“api”接口的路徑數(shù)據(jù)搞混了,最終拿到的數(shù)據(jù)接口還是:

以上就是vue使用反向代理解決跨域問題方案的詳細(xì)內(nèi)容,更多關(guān)于vue反向代理解決跨域問題的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue中keep-alive組件的深入理解

    Vue中keep-alive組件的深入理解

    這篇文章主要給大家介紹了關(guān)于Vue中keep-alive組件的深入理解,文中通過實(shí)例代碼結(jié)束的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 關(guān)于Vue如何清除緩存的方法詳解

    關(guān)于Vue如何清除緩存的方法詳解

    緩存清除成為克服瀏覽器緩存中過時(shí)內(nèi)容挑戰(zhàn)的關(guān)鍵技術(shù),術(shù)語“緩存清除”是指故意使靜態(tài)資源失效或進(jìn)行版本控制,迫使瀏覽器在發(fā)生更改時(shí)獲取新資源,本文給大家介紹了Vue如何清除緩存,需要的朋友可以參考下
    2023-12-12
  • Vue3中axios請(qǐng)求封裝、請(qǐng)求攔截與相應(yīng)攔截詳解

    Vue3中axios請(qǐng)求封裝、請(qǐng)求攔截與相應(yīng)攔截詳解

    目前前端最流行的網(wǎng)絡(luò)請(qǐng)求庫還是axios,所以對(duì)axios的封裝很有必要,下面這篇文章主要給大家介紹了關(guān)于Vue3中axios請(qǐng)求封裝、請(qǐng)求攔截與相應(yīng)攔截的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 基于vue的fullpage.js單頁滾動(dòng)插件

    基于vue的fullpage.js單頁滾動(dòng)插件

    這篇文章主要為大家詳細(xì)介紹了基于vue的fullpage.js單頁滾動(dòng)插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue的簡(jiǎn)介及@vue/cli?腳手架的使用示例

    vue的簡(jiǎn)介及@vue/cli?腳手架的使用示例

    vue 是一個(gè) 漸進(jìn)式的javascript框架,腳手架是一個(gè)通用概念,幫助搭建項(xiàng)目的工具,本文以vue2為例結(jié)合實(shí)例代碼給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • Vue聲明式導(dǎo)航與編程式導(dǎo)航示例分析講解

    Vue聲明式導(dǎo)航與編程式導(dǎo)航示例分析講解

    這篇文章主要介紹了Vue中聲明式導(dǎo)航與編程式導(dǎo)航,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-11-11
  • vue.js表單驗(yàn)證插件(vee-validate)的使用教程詳解

    vue.js表單驗(yàn)證插件(vee-validate)的使用教程詳解

    這篇文章主要介紹了vue.js表單驗(yàn)證插件(vee-validate)的使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 淺析Vue項(xiàng)目中使用keep-Alive步驟

    淺析Vue項(xiàng)目中使用keep-Alive步驟

    這篇文章簡(jiǎn)單給大家介紹了Vue項(xiàng)目中使用keep-Alive步驟,在vue2.1.0之前,實(shí)現(xiàn)方式也給大家作了簡(jiǎn)單介紹,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • 手把手教你如何將html模板資源轉(zhuǎn)為vuecli項(xiàng)目

    手把手教你如何將html模板資源轉(zhuǎn)為vuecli項(xiàng)目

    Vue可以直接集成html,Vue就是前端框架,使用Vue做前端開發(fā)效率非常高,下面這篇文章主要給大家介紹了關(guān)于如何將html模板資源轉(zhuǎn)為vuecli項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 基于Vuex無法觀察到值變化的解決方法

    基于Vuex無法觀察到值變化的解決方法

    下面小編就為大家分享一篇基于Vuex無法觀察到值變化的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評(píng)論

垫江县| 县级市| 景德镇市| 宁乡县| 远安县| 彰武县| 龙井市| 聊城市| 塔城市| 克什克腾旗| 南昌县| 铜山县| 广灵县| 周宁县| 苍山县| 灵川县| 定结县| 井研县| 江永县| 灌南县| 军事| 青海省| 陆川县| 沅江市| 靖安县| 姜堰市| 高邑县| 隆昌县| 盘锦市| 邮箱| 雷波县| 西乡县| 日照市| 新田县| 大兴区| 崇州市| 宁波市| 商丘市| 班玛县| 凤台县| 长宁县|