Я не разбираюсь во внутренних принципах работы Angular SW, но это общая проблема принудительного обновления приложений, использующих Service Worker:
- Пользователь открывает страницу на вкладке 1-> SW устанавливает и предварительно кэширует компоненты (чанки), НО приложение не загружает все компоненты, вместо этого ожидает взаимодействия пользователя для загрузки компонентов (чанков)
- Пользователь открывает страницу наtab 2 -> загружается мгновенно, так как SW был установлен и предварительно кэшированные файлы были, ну, в общем, в кеше
- Разработчик обновляет приложение каким-то образом -> некоторые чанки переименовываются
- Разработчик развертывает приложение на сервере И удаляет старые версии файлов -> на сервере теперь есть только новые версии файлов с разными именами чанков
- Пользователь использует приложение на вкладке 2 -> происходит принудительное обновление, и когда это происходит, новое ПО удаляет старые компоненты (куски) из кэша и предварительно кэширует новые версии компоновки.nts
- Пользователь возвращается на вкладку 1, и приложение пытается лениво загрузить СТАРУЮ версию некоторого чанка ->, так как # 5 УДАЛЕН кэш с SW, и файлы НЕ существуютна сервере больше не выполняется отложенная загрузка фрагмента
Проще говоря: если вы не обновляете принудительно ВСЕ ВЕРСИИ ВЕРСИИ приложения на всех возможных вкладкахв том же браузере может возникнуть проблема, когда работающий код JavaScript пытается лениво загрузить чанк, который не существует ни в кэше браузера, ни на сервере.