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

vue3+vite項目跨域配置踩坑實戰(zhàn)篇

 更新時間:2023年05月18日 09:19:23   作者:大頭女俠  
vue3是一個流行的前端框架,vite是一個快速的構建工具,下面這篇文章主要給大家介紹了關于vue3+vite項目跨域配置踩坑實戰(zhàn)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

寫這篇多少有點心情復雜,畢竟因為一個巨巨巨巨沒意思的bug卡了兩整天…

廢話不多說啦,開篇入題叭,希望大家都能改好自己的bugggggg?。?!

1.vite.config.js配置

注意:因為我是用vite創(chuàng)建的,不是vue-cli,當時搜了好多教程都教的是新建一個vue.config.js,發(fā)現根本沒有生效,所以,如果使用vite創(chuàng)建的項目就在vite.config.js里面配置如下代碼:

以我要訪問的疫情數據api為例,原api地址:https://api.inews.qq.com/testaxios/newsqa/v1/automation/modules/list?modules=FAutoCountryConfirmAdd,WomWorld,WomAboard

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
export default defineConfig({
  plugins: [vue()],
  server: {
    port: 3000,
    proxy: {
      '/testaxios': {
        target: 'https://api.inews.qq.com/',
        // target就是你要訪問的目標地址,可以是基礎地址,這樣方便在這個網站的其他api口調用數據
        ws: true,
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/testaxios/, ''),
        // 要記得加rewrite這句
      },
    },
  },
})

2.api文件

我寫代碼的時候,把api相關的調用函數封裝在了一個文件里面,在api/index.js文件里,然后其他地方在用的時候就可以直接調用函數了。

除此之外,axios的請求也被我封裝起來了,copy的網上的封裝代碼,也可以直接引入axios,需要的話拿走就好了。

api / index.js

import axios from "../utils/requst"     
// import axios from "axios"
const api = {
    // 疫情數據
    getNcov(){
        return axios.get("testaxios/newsqa/v1/automation/modules/list?modules=FAutoCountryConfirmAdd,WomWorld,WomAboard")
    },
    // 城市數據
    getNcovCity(){
        return axios.get("testaxios/newsqa/v1/query/inner/publish/modules/list?modules=statisGradeCityDetail,diseaseh5Shelf")
    },
    getNcovCity2(){
        return axios.get("newsqa/v1/query/inner/publish/modules/list?modules=chinaDayList,chinaDayAddList,nowConfirmStatis,provinceCompare")
    }
}
export default api;

注意:這里前面只要加上你上面配置的前綴testaxios(前面不用 / 了),后面跟著原地址的后半部分就歐克了!

utils / requst.js

import axios from "axios"
import qs from "querystring"
/**
 * 處理失敗的方法
 * status:狀態(tài)碼
 * info:信息
 */
const errorHandle = (status,info) =>{
    switch(status){
        case 400:
            console.log("語義有誤,當前請求無法被服務器理解。除非進行修改,否則客戶端不應該重復提交這個請求。")
            break;
        case 401:
            // token:令牌
            console.log("服務器認證失敗")
            break;
        case 403:
            console.log("服務器已經理解請求,但是拒絕執(zhí)行它");
            break;
        case 404:
            console.log("請檢查網絡請求地址")
            break;
        case 500:
            console.log("服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在服務器的程序碼出錯時出現。")
            break;
        case 502:
            console.log("作為網關或者代理工作的服務器嘗試執(zhí)行請求時,從上游服務器接收到無效的響應。")
            break;
        default:
            console.log(info)
            break;
    }
}
/**
 * 創(chuàng)建axios實例對象
 */
const instance = axios.create({
    // 公共配置
    // baseURL:"http://iwenwiki.com",
    timeout:8000
})
/**
 * 處理攔截器
 */
 /**
  * 請求攔截
  */
instance.interceptors.request.use(
    config => {
        if(config.method === "post"){
            config.data = qs.stringify(config.data)
        }
        return config
    },
    error => Promise.reject(error)
)
/**
 * 響應攔截
 */
instance.interceptors.response.use(
    // 完成了
    response => response.status === 200 ? Promise.resolve(response) : Promise.reject(response),
    error => {
        const { response } = error;
        errorHandle(response.status,response.info);
    }
)
export default instance

3.調用api相關函數

我是在home.vue里面調用的,直接import api文件以后就可以直接調用函數了

mounted(){
      api.getNcov().then(res=>{
        console.log(res.data)
      }).catch((error)=>{console.log(error)});
    }

沒啦?。。。。。。。。?! 沖啊啊啊啊啊啊?。。。。。。。。?!

總結

到此這篇關于vue3+vite項目跨域配置踩坑實戰(zhàn)的文章就介紹到這了,更多相關vue3+vite跨域配置踩坑內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue組件BootPage實現簡單的分頁功能

    Vue組件BootPage實現簡單的分頁功能

    這篇文章主要為大家詳細介紹了Vue小組件BootPage實現簡單的分頁功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • vue如何實現甘特圖

    vue如何實現甘特圖

    文章主要內容是關于如何在項目中引入依賴項以及編寫組件代碼的步驟和總結,作者分享了個人經驗,旨在為讀者提供參考,并鼓勵大家支持腳本之家
    2024-12-12
  • vue實現簡單的跑馬燈效果

    vue實現簡單的跑馬燈效果

    這篇文章主要為大家詳細介紹了vue實現簡單的跑馬燈效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 前端接入??低晹z像頭的3種方案示例代碼

    前端接入??低晹z像頭的3種方案示例代碼

    在前端調用海康威視攝像頭的過程中,主要涉及到攝像頭的連接、視頻流的獲取以及前端頁面的展示,這篇文章主要介紹了前端接入??低晹z像頭的3種方案,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-09-09
  • Vue使用v-for數據渲染順序混亂的原因及解決方案

    Vue使用v-for數據渲染順序混亂的原因及解決方案

    在 Vue.js 中,使用 v-for 指令進行數據渲染時,有時會遇到渲染順序混亂的問題,這種問題主要與 Vue 的響應式系統(tǒng)、DOM 更新機制以及數組的變更方法有關,以下是對這一現象的深入分析及解決方案,需要的朋友可以參考下
    2025-01-01
  • vue前端性能優(yōu)化之預加載和懶加載示例詳解

    vue前端性能優(yōu)化之預加載和懶加載示例詳解

    這篇文章主要為大家介紹了vue前端性能優(yōu)化之預加載和懶加載示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • vue-router 路由基礎的詳解

    vue-router 路由基礎的詳解

    這篇文章主要介紹了vue-router 路由基礎的詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下
    2017-10-10
  • vue.js+Echarts開發(fā)圖表放大縮小功能實例

    vue.js+Echarts開發(fā)圖表放大縮小功能實例

    本篇文章主要介紹了vue.js+Echarts開發(fā)圖表放大縮小功能實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 詳細聊聊Vue中的options選項

    詳細聊聊Vue中的options選項

    options是new Vue的參數,我們一般稱之為選項或者構造選項,下面這篇文章主要給大家介紹了關于Vue中options選項的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • Vue實現圖片驗證碼生成

    Vue實現圖片驗證碼生成

    這篇文章主要為大家詳細介紹了Vue實現圖片驗證碼生成,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論

嘉黎县| 长乐市| 龙门县| 通许县| 禹城市| 安乡县| 新乡市| 寿光市| 高邑县| 莱芜市| 华池县| 信宜市| 临泉县| 台湾省| 夏津县| 子洲县| 赣榆县| 黄石市| 蕉岭县| 河源市| 合江县| 陆丰市| 巴南区| 陕西省| 塔河县| 琼海市| 巫溪县| 察隅县| 凌云县| 贡觉县| 河南省| 瓦房店市| 潜山县| 平邑县| 五原县| 女性| 文水县| 马关县| 合阳县| 南安市| 兴化市|