【面试题】: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

(1) timeout设置成0是什么意思
请求超时就会执行错误的代码(.catch里面的代码)

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

①使用请求拦截器

明确vue环境变量中的baseURL地址

修改axios请求拦截

发起请求时 按需传递requestBase的配置即可

适用场景:产品后期迭代新引入后端模块,base地址不同

②使用多个axios实例(不推荐)

适用场景:产品后期迭代新引入后端模块,base地址不同

弊端:代码冗余大

③不使用baseURL 把地址写全(不推荐)

适用场景:产品开发前期,不明确多少个base地址

④使用对象键值对指代baseURL

适用场景:产品开发前期,明确了多个base。若处于项目后期,则不推荐。

相关推荐
夏鹏今天学习了吗21 分钟前
【性能优化】前端高性能优化策略
前端·性能优化
weixin_427771613 小时前
css font-size 的妙用
前端·css
凤凰战士芭比Q4 小时前
web中间件——Nginx
前端·nginx·中间件
好望角雾眠4 小时前
第四阶段C#通讯开发-5:TCP
网络·笔记·网络协议·tcp/ip·c#
三品吉他手会点灯4 小时前
stm32f103学习笔记-16-RCC(第2节)-讲解系统时钟配置函数SetSysClockTo72()
笔记·stm32·单片机·嵌入式硬件·学习
一 乐5 小时前
点餐|智能点餐系统|基于java+ Springboot的动端的点餐系统小程序(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·小程序·论文
仙人掌_lz5 小时前
Kimi Linear 论文阅读笔记:第一次“线性注意力”全面胜过全注意力
论文阅读·笔记
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [kernel]cpu
linux·笔记·学习
bitbitDown5 小时前
从零打造一个 Vite 脚手架工具:比你想象的简单多了
前端·javascript·面试
liangshanbo12156 小时前
CSS 数学函数完全指南:从基础计算到高级动画
前端·css