1

我正在使用@angular/service-worker构建 PWA 应用程序。Angular service-worker 添加ngsw-config.json文件,您可以在其中添加“dataGroups”部分来配置缓存 url 和策略等。

    "dataGroups": [{
    "name": "tile-cache",
    "urls": [
    ],
    "cacheConfig": {
      "strategy": "performance",
      "maxSize": 10000,
      "maxAge": "30d"
    }
  }].

在我的应用程序中,我需要将缓存的 url(如一些外部地图切片 url)动态添加到服务工作者 CacheStorage,而不是在 ngsw-config.json 文件的 dataGroups 中预先配置它们。

我没有看到 @angular/service-worker 公开任何公共类或方法来执行此操作。有谁知道如何实现这一目标?

4

2 回答 2

1

查看 Angular Service Worker的源代码,您想要做的事情并没有太多选择。当您导入ServiceWorkerModule应用程序模块时,您可以控制的只是脚本路径。您可能会根据环境或其他因素更改脚本路径。

根据服务工作者配置文档,您可以在ngsw-config.json. 您可以为 dataGroup 定义的地图切片 url 必须有一些模式,因此您不必动态/以编程方式添加缓存的 url。

于 2019-09-10T21:57:07.450 回答
0

在 Angular 服务工作者中,可用的配置选项非常有限,所以我认为您需要修改/更新ngsw-config.json使用 nodejs 脚本,您需要在构建项目之前运行该脚本。

于 2019-09-24T01:53:23.397 回答