【发布时间】:2021-03-05 11:53:43
【问题描述】:
我正在为我的站点使用 vue-pwa,并且目前正在对我在站点内部调用的 API 使用 NetworkFirst 策略。我现在想以某种方式检测我从 API 收到的响应是否被服务工作者缓存(在这种情况下,我想知道缓存的响应有多长时间)或者请求是否被正常获取。目标是在用户查看可能过时的内容时显示警告(响应是从缓存中加载的并且超过几个小时)
这是我目前的sw.js
self.addEventListener('message', (e) => {
if (!e.data) {
return
}
switch (e.data) {
case 'skipWaiting':
self.skipWaiting()
break
default:
break
}
})
workbox.core.clientsClaim()
self.__precacheManifest = [].concat(self.__precacheManifest || [])
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
workbox.routing.registerRoute(/^https:\/\/some.api.here.com\//, new workbox.strategies.NetworkFirst(), 'GET');
【问题讨论】:
标签: javascript vue.js progressive-web-apps service-worker workbox