首页 > 解决方案 > Angular Service Worker 为数据组创建的缓存是否在软件更新后被删除?

问题描述

我有一个 PWA,需要在离线之前下载地图数据。我创建了一个数据组来使用 NGSW 缓存这些资源,并且我创建了一个初始化过程来获取离线时需要的所有数据。定义dataGroup如下

{
  "name": "map",
  "urls": ["/map-api/**"],
  "cacheConfig": {
    "maxSize": 10000,
    "maxAge": "365d"
  }
}

因此使用了命名的缓存ngsw:/:1:data:dynamic:map:cache。但是,我注意到,每当我更新应用程序时,缓存都会被删除然后重新创建。

我不完全确定为什么会发生这种情况(可能是浏览器清理空间),我没有发现任何记录在案的痕迹,但我在 NGSW 代码中找到了两个可以做到这一点的函数。有没有办法防止这种情况发生?它是设计行为吗?

标签: angularservice-workerangular-service-workerangular-pwa

解决方案


推荐阅读