使用workbox-webpack-plugin时,哪些工作箱策略用于预先缓存的资产?

问题描述 投票:1回答:1

我正在努力了解工作箱和服务工作者。

使用workbox-webpack-plugin和GenerateSW模式时,用于预先缓存资产的工作箱策略是什么?即。 cacheFirst,staleWhileRevalidate等。因为我似乎没有为预先缓存的资产设置路由/策略,以便服务工作者更新这些资产的缓存。那么这些的默认处理程序是什么?

其次,服务器响应中的Cache-Control标头如何在工作箱策略中发挥作用以刷新资产?如果有的话。

回答根/index.html资产的问题对我来说最有帮助。

谢谢。

service-worker workbox workbox-webpack-plugin
1个回答
2
投票

workbox-webpack-plugin生成一个服务工作者,该服务工作者调用workbox.precaching.precacheAndRoute([...]),其中包含一系列URL(以及每个URL的可选修订信息)。

precacheAndRoute()的调用做了两件事:

  • 预先提供所有URL。
  • 自动为您创建一个fetch处理程序,它将检查传入的请求以查看它是否与预先缓存的URL匹配,如果是,则回应什么是有效的缓存优先策略。 (这是和路线部分。)当匹配时的code that gets invoked不是字面上的workbox.strategies.cacheFirst(),但它大致相当。

如果为预先缓存清单中的给定条目提供了带外修订信息,则工作箱将automatically avoid浏览器的HTTP缓存 - 它将其用作URL内容可能随时间变化的信号。 docs模块的workbox-precaching为正在发生的事情提供了更多的信息。

© www.soinside.com 2019 - 2024. All rights reserved.