Этот вопрос занимал весь мой день, и я не могу понять, что происходит
Я вижу, что мой сервисный работник зарегистрирован, однако «иногда», когда я нажимаю офлайн в инструментах разработчика, ServiceWorker для моего домена просто исчезает !!
Но это главная проблема, когда я перезагружаю приложение, я вижу следующее поведение.
Вы можете видеть, что ngsw.json загружается дважды, а main.js загружается 3 раза! main.d3ae2084xxxx && main.bbe5073dxxxx && затем main.d3ae2084xxxx снова!
![enter image description here](https://i.stack.imgur.com/SfxlW.png)
Если я проверю ответ на оба запроса ngsw.json, вы увидите, что оба показывают main.d3ae2084xxxx как правильную версию main.js, но он по-прежнему загружает main.bbe5073dxxxx ...
Первый запрос ngsw.json
![enter image description here](https://i.stack.imgur.com/GQcTB.png)
Второй запрос ngsw.json
![enter image description here](https://i.stack.imgur.com/Aq39Z.png)
Что еще более расстраивает, так это фактическая загруженная версия - предыдущая main.bbe5073dxxxx ... !!!!
Если у кого-нибудь есть идеи, как это может происходить, пожалуйста, дайте мне знать.
Обновление ... Итак, узнал об этой превосходной маленькой конечной точке
https://you-app-url/ngsw/state
Это даст вам много отладочной информации о вашем сервисном работнике.
В моем случае это
Состояние драйвера: EXISTING_CLIENTS_ONLY (ухудшено из-за сбоя
инициализация: несоответствие хеша (cacheBustedFetchFromNetwork):
https://dev -xxxx.net / main.eb8468bb3ed28f02d7c2.js : ожидается
b5601102b721e0cf777691d327dc965d40d1c96e, получил
83c18fdb4a5942c964a31c119a57e0b8e16fe46e (после очистки кэша)
Похоже, что в моем случае это будет какая-то проблема CDN, и я уточню ответ, когда я точно знаю.