Недавно мы запустили прогрессивное веб-приложение, но столкнулись с проблемами при выпуске обновлений для PWA.Когда мы запускаем новую версию приложения, большинство наших js-файлов дистрибутива переименовываются.
, например, файл с именем «1.ChunkName. abc .js» может стать «1.ChunkName». def .js '.
Таким образом, любые пользователи, которые загрузили PWA до того, как мы отправили обновление, будут использовать более старую версию, которая все еще ищет старый удаленный файл, который ломает большую частьфункциональность PWA.Эта проблема исправлена, если пользователь обновляет страницу, но, очевидно, мы не можем ожидать, что наши пользователи обновят страницу, когда они обнаружат ошибку.
Вот некоторые решения, которые я вижу:
- Не удаляйте старые файлы, чтобы старые версии по-прежнему работали.
- Используйте сервисного работника для проверки обновлений.
- Каким-то образом используйте MQTT / WebSockets, чтобы пользователи обновлялись до последних версий.версия.
Но я чувствую, что у всех них есть серьезные недостатки.
Итак, как я могу убедиться, что у пользователя есть беспроблемная работа, если обновление выдвигается во время его использованияPWA?