2

概述

我注意到,随着应用程序的每个新版本,缓存大小都会显着增加,因为 Angular 服务工作者将应用程序的先前版本保留在缓存中?是否期望 Angular Service Worker 示意图会添加代码以从以前的版本中清理缓存?如果没有,Angular PWA 原理图似乎无法扩展(也许我只是遗漏了一些东西)?

重现步骤

  1. 设置新的 CLI 项目ng new my-pwa-app
  2. 添加 PWA 支持ng add @angular/pwa --project my-pwa-app
  3. 构建应用程序的生产版本并在本地运行(观察缓存大小)
  4. 对应用程序进行小的(非功能性)更改(只是为了更改文件哈希) - 代表正在部署的应用程序的新版本。
  5. 构建应用程序的生产版本并再次在本地运行(注意:缓存大小将是以前的两倍)。重复步骤 4 和 5,此行为将继续(缓存大小将继续增长,因为它保留了以前版本的缓存文件)。

例子

在此处输入图像描述

4

1 回答 1

1

SW 会在 SW 重新启动时清除其缓存(如果您打开 DevTools,则不会发生这种情况)。进入 DevTools 的 SW 选项卡,停止 worker,然后启动它,等待几秒钟,然后检查 Cache Storage(确保右键单击并刷新它)。旧的缓存应该消失了。

从下面的链接参考。

https://github.com/angular/angular/issues/29985#issuecomment-484864815

https://github.com/angular/angular/issues/21044#issuecomment-352081302

于 2021-07-16T08:57:08.057 回答