我在试着理解工作间和服务工人。
当使用workbox-webpack-plugin和GenerateSW模式时,用于预置资产的工作盒策略是什么?即。cacheFirst,staleWhileRevalidate等,因为我似乎没有为预缓存的资产设置路由/策略,以便服务工作者更新这些资产的缓存。那么,这些事件的默认处理程序是什么?
其次,来自服务器响应的缓存控制头如何在工作箱策略中扮演刷新资产的角色?如果有的话。
回答wrt这个问题--根/index.html资产--将对我非常有帮助。
谢谢。
发布于 2018-09-06 20:10:56
workbox-webpack-plugin生成一个调用workbox.precaching.precacheAndRoute([...])的服务工作人员,其中包含一个URL数组(以及每个URL的可选修订信息)。
对precacheAndRoute()的调用做了两件事:
fetch处理程序,该处理程序将检查传入的请求,以查看它是否与预缓存的URL匹配,如果匹配,则使用有效的缓存优先策略进行响应。(这是和路由部分。)当有匹配时,被调用的代码并不是字面上的workbox.strategies.cacheFirst(),但它大致是等价的。工作盒将自动回避浏览器的HTTP缓存,如果有带外的修订信息提供给一个给定的条目在precache清单-它使用作为一个信号,该内容的网址可能会随着时间的变化。文档为workbox-precaching模块提供了更多关于正在发生的事情的说明。
https://stackoverflow.com/questions/52107065
复制相似问题