Странное поведение работника Angular PWA Service при развертывании

Этот вопрос занимал весь мой день, и я не могу понять, что происходит

Я вижу, что мой сервисный работник зарегистрирован, однако "иногда", когда я щелкаю офлайн в инструментах разработчика, ServiceWorker для моего домена просто исчезает!!

Но это главная проблема, когда я перезагружаю приложение, я вижу следующее поведение.

Вы можете видеть, что ngsw.json загружается дважды, а main.js загружается 3 раза! main.d3ae2084xxxx && main.bbe5073dxxxx && затем main.d3ae2084xxxx снова!

Если я проверю ответ на оба запроса ngsw.json, вы увидите, что оба показывают main.d3ae2084xxxx как правильную версию main.js, но он по-прежнему загружает main.bbe5073dxxxx...

Первый запрос ngsw.json

Второй запрос ngsw.json

Что еще более расстраивает, так это фактическая загруженная версия предыдущего main.bbe5073dxxxx...!!!!

Если у кого-то есть идеи, как это может произойти, пожалуйста, дайте мне знать.

Обновление... Итак, узнал об этой превосходной маленькой конечной точке

https://you-app-url/ngsw/state 

Это даст вам много отладочной информации о вашем сервисном работнике.

В моем случае это

Состояние драйвера: EXISTING_CLIENTS_ONLY (Ухудшено из-за неудачной инициализации: несоответствие хэша (cacheBustedFetchFromNetwork): https://dev-xxxx.net/main.eb8468bb3ed28f02d7c2.js: ожидаемый b5601102b721e0cf777691d327dc18ee6eb6e64eb664eb664eb6646eb664e6)

Похоже, что в моем случае это будет какой-то проблемой CDN, и я уточню ответ, когда я точно знаю.

0 ответов

Вы, вероятно, уже решили эту проблему, но у меня была такая же проблема, которая, как выяснилось, была связана с тем, что CDN (Cloudflare в моем случае) оптимизировал контент.

В Cloudflare ключевым параметром является "Автоматическое уменьшение", которое необходимо отключить.

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