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

相关推荐
中微子7 分钟前
JavaScript 防抖与节流:从原理到实践的完整指南
前端·javascript
海海不掉头发17 分钟前
【计算机组成原理】-CPU章节学习篇—笔记随笔
笔记·单片机·学习·考研·计算机组成原理
天天向上102422 分钟前
Vue 配置打包后可编辑的变量
前端·javascript·vue.js
芬兰y37 分钟前
VUE 带有搜索功能的穿梭框(简单demo)
前端·javascript·vue.js
好果不榨汁44 分钟前
qiankun 路由选择不同模式如何书写不同的配置
前端·vue.js
小蜜蜂dry44 分钟前
Fetch 笔记
前端·javascript
拾光拾趣录1 小时前
列表分页中的快速翻页竞态问题
前端·javascript
小old弟1 小时前
vue3,你看setup设计详解,也是个人才
前端
Lefan1 小时前
一文了解什么是Dart
前端·flutter·dart
Patrick_Wilson1 小时前
青苔漫染待客迟
前端·设计模式·架构