提取新版本时,Angular Service Worker不会更新缓存的文件

问题描述

我们将cli的内置服务工作者与angular 10一起用于PWA。该应用程序的新版本v2已发布。内置服务工作者的行为不符合预期:有时,即使先前使用同一浏览器加载了v2,也会显示该应用的旧版本v1。以下步骤说明了奇怪的行为(尽管它只是随机发生的):

我们:

  • 打开应用程序:显示旧版本v1。没关系,它由SW从其缓存中提供。
  • 重新加载页面显示新版本v2。
  • 关闭标签
  • 打开一个新选项卡并浏览到该应用程序。再次显示旧版本v1。为什么?此时,服务工作者应已更新其缓存并显示v2。

即使页面重新加载完成,服务工作者似乎也不会更新其缓存。我们看到这种行为非常随机地发生。通常会显示新版本,有时会突然显示旧版本。

为什么不发生缓存崩溃?

尽管在这里提供代码示例是没有用的,因为错误行为是非常随机发生的,但我们使用的是带有cli和@angular/service-worker 10.0.5的角度为10的标准设置,而对ngsw-worker.js文件和无需收听任何服务人员事件。

有人看到类似的行为吗?我们该如何解决

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...