Как кэшировать файлы .json с динамическим управлением версиями, полученными с сервера с помощью Angular Service Worker

Я пытаюсь кешировать файлы.json из https://xxxxx.com/config.json?v={xxxxxxxx}используя Angular Service Worker. Мой ngsw-config.json выглядит так:

{
  "$schema": "./node_modules/@angular/service-worker/config/schema.json",
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/manifest.webmanifest",
          "/*.css",
          "/*.js",
          "/*.json"
        ],
        "urls": [
            "https://xxxxx.com/static/atomic/buildcss/fonts-com.css",
            "https://xxxxx.com/static/atomic/images/logos/**",
            "https://xxxxx.com/static/atomic/fonts/adj-icons/**",
            "https://xxxxx.com/static/atomic/fonts/adj-fonts/**",
            "https://xxxxx.com/static/atomic/icons/**"
          ]
      }
    },
    {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani|json)"
        ],
        "urls": [
          "https://xxxxx.com/static/**"
        ]
      }
    }
  ],
  "dataGroups": [
    {
      "name": "static",
      "urls": [
        "https://xxxxx.com/static/**"
      ],
      "cacheConfig": {
        "maxSize": 7,
        "maxAge": "1d",
        "strategy": "freshness"
      }
    }
  ]
}

Я пытаюсь получить его через dataGroups или же assetGroups но ни один из них не работает.

какие-либо предложения?

Должен ли я использовать эти URL-адреса в Assets, потому что.json - это файл, полученный с сервера, или я должен использовать его в dataGroups, потому что я делаю запрос из приложения?

0 ответов

Другие вопросы по тегам