我正在使用workbox-build 3.2.0。 我不需要太多的自定义服务工作者配置,因此generateSW方法现在可以很好地满足我的需求(而不是injectManifest)。
但是,我想有办法提醒用户,如果他们的网络请求因网络优先请求失败,他们正在从缓存中接收数据。这样他们就会知道他们的数据可能不是最新的。
有没有办法在workbox-build的配置文件中处理这样的自定义逻辑?
我知道有一个negativeFallback属性,您可以在其中放置页面的URL以显示网络和缓存是否都无法返回响应,但我正在寻找一种方法来创建自定义逻辑以引发警报或显示一面旗帜。
const options = {
swDest: `${BUILD_DIR}/sw.js`,
globDirectory: BUILD_DIR,
navigateFallback: "/index.html",
clientsClaim: true,
runtimeCaching:[
{
urlPattern: new RegExp('https://jsonplaceholder.typicode.com/(.*)'),
handler: "networkFirst",
},
{
urlPattern: new RegExp('https://fonts.(?:googleapis|gstatic).com/(.*)'),
handler: 'staleWhileRevalidate'
}
],
globIgnores: [],
skipWaiting: true,
importScripts: [],
cacheId: 'v0.0.1',
};
build.generateSW(options).then(() => {
console.log("Generated service worker with static cache");
});

在Chrome控制台中,我可以看到networkFirst请求何时回退到缓存响应,我该如何检测此代码?