Как остановить сервисного работника, возвращающего устаревший index.html? - PullRequest
0 голосов
/ 12 декабря 2018

У меня проблема с тем, что работник службы Angular возвращает старую версию index.html (с даты установки работника службы), которая приводит меня в замешательство!

В основном при новом запуске браузера(chrome) старый файл index.html обслуживается работником службы, что приводит к загрузке несуществующего mainxxx.js и благодаря правилу перезаписи IIS, которое я использую для поддержки глубокой ссылки, mainxxx.js возвращает обратно содержимое индекса.html (побочный эффект работника сервиса, возвращающего неправильный index.html на первое место)

Когда я мягко или сильно обновляю вкладку браузера, загружается правильный index.html, и все в порядке ... то есть, покаЯ закрываю браузер и снова запускаю, после чего старый index.html снова открывается: O

Как вы можете видеть на скриншоте ниже (извините за редактирование), я отключил кеширование через кеш-контроль заголовка ..

enter image description here

Чтобы усложнить ситуацию ... когда я смотрю на вкладку приложения вСредства разработки, я вижу несколько экземпляров кэша для разных версий (я полагаю) работника, у одного есть старый index.html, а у другого - более новая версия в кеше!

Хотя я понимаюОбщая идея, связанная с сервисными работниками, я теряюсь во всем коде, который предоставляется сервисным работником, поэтому очень хотел бы, чтобы один добрый человек указал мне на решение, которое помогло бы мне:)

Спасибо!

===== В соответствии с просьбой мой ngsw-config.json является стандартной готовой версией ..

{
  "index": "/index.html",
  "assetGroups": [{
    "name": "app",
    "installMode": "prefetch",
    "resources": {
      "files": [
        "/favicon.ico",
        "/index.html",
        "/*.css",
        "/*.js"
      ]
    }
  }, {
    "name": "assets",
    "installMode": "lazy",
    "updateMode": "prefetch",
    "resources": {
      "files": [
        "/assets/**"
      ]
    }
  }]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...