目前,我正在尝试使用服务人员缓存 api 调用。它确实缓存了 api 请求。但是,它似乎没有利用缓存。当我检查 devtool 上的网络选项卡时,我看到了来自 service worker 和 workbox 的请求,甚至比正常请求还要慢。
我用 webpack 3 尝试了旧版本,缓存的 api 几乎像 3ms 一样立即返回。
在没有第二次通话之前
工作箱-webpack-插件配置
new workboxPlugin.GenerateSW({
swDest: 'sw.js',
clientsClaim: true,
skipWaiting: true,
runtimeCaching: [
{
urlPattern: new RegExp('/'),
handler: 'staleWhileRevalidate',
},
{
urlPattern: new RegExp('https://api/'),
handler: 'cacheFirst',
options: {
cacheName: 'api',
expiration: {
maxEntries: 100,
maxAgeSeconds: 72 * 60 * 60
},
cacheableResponse: { statuses: [0, 200] },
}
},
]
})
服务人员请求创建某种瓶颈?
附带问题 - 网络请求中的两个时间段有什么区别?正如您从图像中看到的,第一次请求时有 3.53 秒和 2.01 秒