【面试题】: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。若处于项目后期,则不推荐。

相关推荐
知识分享小能手3 小时前
Vue3 学习教程,从入门到精通,Axios 在 Vue 3 中的使用指南(37)
前端·javascript·vue.js·学习·typescript·vue·vue3
伍哥的传说3 小时前
Mitt 事件发射器完全指南:200字节的轻量级解决方案
vue.js·react.js·vue3·mitt·组件通信·事件管理·事件发射器
所愿ღ4 小时前
JavaWeb-Servlet基础
笔记·servlet
岑梓铭5 小时前
考研408《计算机组成原理》复习笔记,第五章(2)——CPU指令执行过程
笔记·考研·408·计算机组成原理·计组
程序员码歌5 小时前
【零代码AI编程实战】AI灯塔导航-总结篇
android·前端·后端
用户21411832636026 小时前
免费玩转 AI 编程!Claude Code Router + Qwen3-Code 实战教程
前端
一枚小小程序员哈6 小时前
基于Vue + Node能源采购系统的设计与实现/基于express的能源管理系统#node.js
vue.js·node.js·express
小小愿望7 小时前
前端无法获取响应头(如 Content-Disposition)的原因与解决方案
前端·后端
小小愿望7 小时前
项目启功需要添加SKIP_PREFLIGHT_CHECK=true该怎么办?
前端
烛阴7 小时前
精简之道:TypeScript 参数属性 (Parameter Properties) 详解
前端·javascript·typescript