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。但这取决于你!)
我正在使用 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.
fetch
事件
如果 fetch
事件与不在预缓存清单中的 URL 关联,它不会执行任何操作。 (即它不会调用 FetchEvent.respondWith()
,其他处理程序将有机会响应。)
在您自己的 fetch
事件处理程序中添加您自己的自定义逻辑应该与 precacheAndRoute()
很好地配合。
(对于那些需要身份验证的请求,您可以使用 Workbox 的运行时缓存,以及在发出网络请求之前添加到 headers 中的自定义 requestWillFetch
plugin。但这取决于你!)