Может ли работник службы Angular обновить данные ключа кэша? - PullRequest
0 голосов
/ 25 октября 2018

Мое приложение обслуживается в файлах express.js и index.html, созданных EJS Template Engine

Поэтому, когда я впервые захожу на свой сайт, index.html отображается правильно.

Но если я обновлюстраница index.html загружена из сервисного работника, потому что

кеш работника сервиса был исходным файлом index.html

Я хочу обновить некоторые данные кэша (не все) или как кэшировать визуализированныйhtml файл.

Например:

enter image description here

Если я хочу обновить данные кэша index.html, как мне это сделать?

Мне действительно нужна чья-то помощь.

Перечислите некоторые угловые конфигурации sw:

ngsw-config.json

{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "lazy"(prefetch both have tried),
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/*.css",
          "/*.js"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**"
        ]
      }
    }
  ]
}

Моя структура проекта Dist

/ dist

- index.html

- *. Js

1 Ответ

0 голосов
/ 25 октября 2018

Хорошо, я нашел временное решение для решения этой проблемы:

добавление конфигурации групп данных в nsgw-config.json

  "dataGroups": [
    {
      "name": "api-performance",
      "urls": [
        "/api/**"(you can ignore this line),
        "/"
      ],
      "cacheConfig": {
        "strategy": "freshness",
        "maxSize": 100,
        "maxAge": "3d",
        "timeout":"2m"
      }
    }
  ]

Я знаю, что мы обычно настраиваем это для кэширования json apiданные, но я думаю, что он также может кэшировать HTML / обычный текст.

Хотя это работает, но у кого-нибудь есть идея получше?

...