Странное поведение работника 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 ключевым параметром является "Автоматическое уменьшение", которое необходимо отключить.