【面试题】:axios二次封装都进行了哪些配置以及如果项目里面有两个baseURL你怎么解决?

简介: axios二次封装都进行了哪些配置以及如果项目里面有两个baseURL怎么解决?

一.axios的概念

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

二.axios的特点(不常问)

  • 从浏览器创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF

    三.项目中axios二次封装怎么做的?

    我们项目里面是通过axios.create()方法创建了一个axios实例,配置了请求的根地址baseURL和timeout

    四.如果项目里面有两个baseURL你怎么解决?

    ①使用请求拦截器
    明确vue环境变量中的baseURL地址
    修改axios请求拦截
    发起请求时 按需传递requestBase的配置即可
    适用场景:产品后期迭代新引入后端模块,base地址不同
    ②使用多个axios实例(不推荐)
    适用场景:产品后期迭代新引入后端模块,base地址不同
    弊端:代码冗余大
    ③不使用baseURL 把地址写全(不推荐)
    适用场景:产品开发前期,不明确多少个base地址
    ④使用对象键值对指代baseURL
    适用场景:产品开发前期,明确了多个base。若处于项目后期,则不推荐。
    
相关文章
|
2月前
|
资源调度 JavaScript 前端开发
vue-element-admin 综合开发四:axios安装和封装、mock安装/学习/使用
这篇文章是关于如何在Vue项目中使用axios进行网络请求、二次封装axios以及使用mockjs模拟响应数据的教程。
85 1
vue-element-admin 综合开发四:axios安装和封装、mock安装/学习/使用
|
2月前
|
资源调度 JavaScript
|
3月前
封装axios的get、post方法
本文介绍了如何封装axios的get和post方法,并展示了具体的代码实现,包括使用axios创建实例、设置请求拦截器以及定义get和post函数。
117 2
|
2月前
|
缓存 JavaScript 搜索推荐
|
28天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
44 2
|
3月前
|
NoSQL Java Redis
面试官:项目中如何实现分布式锁?
面试官:项目中如何实现分布式锁?
95 6
面试官:项目中如何实现分布式锁?
|
2月前
vue3 + Ts 中 使用 class 封装 axios
【10月更文挑战第8天】
132 1
|
2月前
vue3 + Ts 中 使用 class 封装 axios
【10月更文挑战第5天】
155 1
|
2月前
|
JavaScript 前端开发
vue尚品汇商城项目-day01【8.路由跳转与传参相关面试题】
vue尚品汇商城项目-day01【8.路由跳转与传参相关面试题】
42 0
vue尚品汇商城项目-day01【8.路由跳转与传参相关面试题】