业务上遇到了自己控制缓存的需求,于是在 axios 上实现了一个简单的缓存层,抽出来分享一下(`・ω・´)
安装
npm install axios-cache-plugin --save-dev
or
yarn add axios-cache-plugin --dev
使用
引入 wrapper,然后裹在 axios 或者 axios 实例上并用返回值替代即可,不用修改业务代码
import axios from 'axios'
import wrapper from 'axios-cache-plugin'
let http = wrapper(axios, {
maxCacheSize: 15
})
export default http
API
插件并不是缓存全部 GET 请求,而是按正则匹配缓存指定的请求,这要求你添加 filter,url 命中 filter 的请求才会被缓存哦。(默认情况下不缓存任何请求。)
instance.__addFilter 添加 filter
instance.__removeFilter 移除 filter
im