0

我修复了我的 SPA 站点的 service worker 配置,现在它没有缓存 index.html 文件。问题是我可以对已经将旧 index.html 文件作为服务工作者缓存的一部分的匿名旧 \ 现有访问者做什么?

我不能告诉他们清除缓存或手动刷新,因为我不认识他们。他们不时打电话给我的办公室,我向他们解释该怎么做,但我确信很多访客没有给我打电话,也因为这个问题而不能使用我的新版本。

同样,自从我对服务工作者配置进行修复以来,我对访问我网站的访问者没有任何问题。我对在修复之前拥有旧 index.html 的访问者有疑问。

我正在使用 NGINX 和 ReactJS。

4

1 回答 1

0

您需要对缓存的资产添加某种检查,以查看它们是否需要更新。

我根据应用程序使用不同的技术。

一种是发出 HEAD 请求并将上次更新时间与缓存值进行比较。如果它已经在服务器上更新,因为它是缓存,我替换它。

我还可以为与缓存资产或数据相对应的 IndexedDB 添加某种时间值。当那个时间到期时,我会触发更新。

没有一个答案适合这一切。缓存失效可能是一个复杂的主题,您需要尝试不同的技术并使用适用于数据或资产以及应用程序用例等的方法。

还要考虑如何处理离线和身份验证等。看到更多的复杂性。

于 2020-10-22T23:09:05.437 回答