我修复了我的SPA站点的服务工作者配置,现在它不再缓存index.html文件。问题是,我可以如何处理已经将旧index.html文件作为服务工作者缓存的一部分的匿名旧\现有访问者?
我不能告诉他们清除缓存或手动刷新,因为我不知道他们。他们不时地打电话到我的办公室,我向他们解释该怎么做,但我相信很多访客不会打电话给我,因为这个问题而不能使用我的新版本。
再说一次,自从我对service worker配置进行了修复后,访问我的站点的访问者就没有问题了。我对那些在修复之前使用我的旧index.html的访问者有问题。
我使用的是NGINX和ReactJS。
发布于 2020-10-23 07:09:05
您需要针对缓存的资产添加某种类型的检查,以查看它们是否需要更新。
根据应用程序的不同,我使用不同的技术。
一种方法是发出HEAD请求,并将上次更新时间与缓存值进行比较。如果它在缓存后在服务器上进行了更新,我会替换它。
我还可以将某种生存时间值添加到与缓存的资产或数据相对应的IndexedDB。当该时间到期时,我会触发更新。
对于这一点,没有一个答案是万能的。缓存失效可能是一个复杂的主题,您需要尝试不同的技术,并在应用程序的用例中使用对数据或资产有效的方法,等等。
还要考虑如何处理离线和身份验证等问题。
https://stackoverflow.com/questions/64491182
复制相似问题