关于 axios 二次封装方法的问题
通过 class 创建多个实例
class Http { ... } const http1 = new Http() const http2 = new Http()
仅通过 axios 创建一个实例
import axios from 'axios' const axiosInstance = axios.create({ baseURL: import.meta.env.VITE_APP_BASE_URL, timeout: 5000 }) export default axiosInstance
哪种方法更好些呢?或者大家有更好的封装思路吗?
看了一些博客,关于用 class 包装的 axios, 给出来的好处是 不同的服务可以加不同的拦截器,我刚工作不久,不知道有什么场景需要用到这种需求。我更偏向于第二种方法,感觉我接触到的服务,只需要切换一下 baseUrl,并没有别的需求了。
这个根据业务决定,你可问问你们后端,同时方法二也可以创建一个新的 axios 实例进行拓展啊,这种不需要考虑太多,两种都具备向后拓展的空间