美文网首页js css html
前端配置多个代理 axios的使用

前端配置多个代理 axios的使用

作者: 云高风轻 | 来源:发表于2022-10-22 12:25 被阅读0次

    1. 前言

    1. 可能我们经常有场景 配置多个代理,但是在具体发起请求的时候 就不知道怎么发了,因为 axios中的baseurl只能配置一个,
    2. 之前有文章vue-axios配置写过解决方案,但不是重点
    3. 所以单独在写篇文章 config.js文件配置多个代理,axios如何发起请求,如何配置baseurl

    2. 代理配置

    1. config.js
      devServer:{
        open:true,
        host:"127.0.0.1",
        // host:"yzs.com",//host文件配置域名
        proxy:{
          "/dyapi":{
            target:"http://xx.x.cn/api/RoomApi",
            ws:true,
            ChangeOrigin:true,
            pathRewrite:{
              "^/dyapi":""
            }
          },
          '/elmapi':{
            // 不一定非得写域名/一般是写 所有接口前面 都一样的 部分/url
            target:'https://xx.xx.org',
            ws:true,
            changeOrigin:true,
            pathRewrite:{
              '^/elmapi':''
            }
          }
        }
      }
    
    1. 配置多个代理

    3. axios 二次封装

    1. http.js文件
    //************2. 创建实例 */
    const instance = axios.create({
      baseURL: "/dyapi",
      // timeout: 1000,
      // headers: {'X-Custom-Header': 'foobar'}
    });
    
    1. 只配置了 一个常用的baseurl

    4. 页面使用 dyapi代理的使用

    • dyapi代理的使用
    import request from '@/src/api/http.js';
    export const getLiveList  = (params = {offset:0,limit:10})=>{
        return request.get("/live",{
            params
        })
    }
    
    1. 就是直接 使用
    2. 因为 二次封装http.js里面 已经设置了baseURL: "/dyapi",
    3. 实际请求效果: ``http://127.0.0.1:8081/dyapi/live?offset=0&limit=10`

    5. 页面使用 elmapi代理

    5.1 通用方式

    1. 核心代码
    import request from '@/src/api/http.js';
    export const postLiveList  = (params ={name:"玩被"})=>{
        return request({
            url:"/v1/captchas",// 接口地址
            method:"POST" // 请求方式 
            baseURL:'/elmapi',// baseurl 
            data:params,// post请求参数
        })
    }
    
    1. 直接通用配置 的 baseURL:'/elmapi',
    2. 这个优先级会高于 二次封装http.js里面的baseURL
    3. 实际请求效果: http://127.0.0.1:8081/elmapi/v1/captchas

    5.2 实例使用

    1. 核心代码
    import request from '@/src/api/http.js';
    export const postLiveList  = (params ={name:"玩吧"})=>{
        return request.post("/v1/captchas",params,{
            baseURL:'/elmapi',
        })
    }
    
    1. 具体的post 实例 使用'
    2. 注意参数的配置

    6. 后记

    1. 有些文章需要 专一一个知识点
    2. 有些需要体系的总结

    参考资料

    vue-axios配置
    axios中文--文档


    初心

    我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
    如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
    共勉

    相关文章

      网友评论

        本文标题:前端配置多个代理 axios的使用

        本文链接:https://www.haomeiwen.com/subject/nrnvzrtx.html