在生产中,我们的静态文件通过 Akamai(但在我们的域中)提供服务,包括我们的服务工作者。
默认情况下,我们正在缓存服务工作者,但它似乎并不总是得到更新。
这里的正确策略是什么?我们是否应该将 Service Worker 设置为永远不被缓存,并在 Service Worker 中的每次调用都受到打击以每次都拉取新的 Service Worker?
在生产中,我们的静态文件通过 Akamai(但在我们的域中)提供服务,包括我们的服务工作者。
默认情况下,我们正在缓存服务工作者,但它似乎并不总是得到更新。
这里的正确策略是什么?我们是否应该将 Service Worker 设置为永远不被缓存,并在 Service Worker 中的每次调用都受到打击以每次都拉取新的 Service Worker?
服务工作者,如果有新的,应该至少每 24 小时更新一次,即使你将 'max-age' 设置为大于 24 小时的值:https ://github.com/slightlyoff/ServiceWorker/blob/ master/explainer.md#updating-a-service-worker
浏览器会检查每次页面加载是否有更新,但会服从缓存。因此,您可以使用“max-age”来决定您希望浏览器检查更新的频率。