Google 的工作箱库中的自定义提取事件?

Custom fetch event in Google's workbox library?

我正在使用 Google 的 Workbox 库来缓存文件。我还想使用 service worker 滚动我的自定义身份验证。所以我阅读了本指南,了解如何拦截请求并添加 headers: https://itnext.io/using-service-worker-as-an-auth-relay-5abc402878dd.

但是,我想知道这是否会扰乱 Workbox 的逻辑?我应该将身份验证代码放在 precacheAndRoute() 下方吗?我通过 Workbox 缓存的静态文件不需要我的身份验证 headers。

Workbox precacheAndRoute() 的 "route" 部分响应 precache manifest.

中 URL 的 fetch 事件

如果 fetch 事件与不在预缓存清单中的 URL 关联,它不会执行任何操作。 (即它不会调用 FetchEvent.respondWith(),其他处理程序将有机会响应。)

在您自己的 fetch 事件处理程序中添加您自己的自定义逻辑应该与 precacheAndRoute() 很好地配合。

(对于那些需要身份验证的请求,您可以使用 Workbox 的运行时缓存,以及在发出网络请求之前添加到 headers 中的自定义 requestWillFetch plugin。但这取决于你!)