обновить PWA в фоновом режиме - PullRequest
0 голосов
/ 29 марта 2020

У меня есть вызов в моем PWA. из-за проблем с производительностью я не могу загрузить все файлы js при начальной загрузке, поэтому каждая страница загружает свой блок во время загрузки. в этом случае, если я разверну новую версию, а предыдущий чанк развертывания еще не загружен, пользователи, развернутые по времени, найдут в приложении cra sh. Мне нужно знать, есть ли способ загрузить все чанки и обновить PWA в фоновом режиме у обслуживающего персонала?

1 Ответ

0 голосов
/ 31 марта 2020

В некоторых случаях ios вы можете использовать Periodi c Background Syn c, чтобы обновлять кэшированные данные с помощью периодов c. Тем не менее, он не предназначен для того, чтобы позволить вам кэшировать критические ресурсы для вашего веб-приложения, а думать о нем больше как о способе делать дополнительные, полезные обновления.

Если у вас есть ресурсы, которые необходимо кэшировать, и все эти ресурсы должны иметь версии, все они должны быть добавлены в кэш внутри обработчика install .

Если вы не можете загрузить все файлы внутри этого обработчика install тогда я думаю, что вам нужно пересмотреть вопрос о том, является ли использование сервисного работника правильным подходом для вас, потому что нет никакой гарантии, что вы получите согласованный кеш с другим подходом.

Один из обходных путей, который вы могли бы рассмотреть, - это показывать экран «Загрузка ...» или «Загрузка ресурсов ...», когда пользователь впервые входит в ваше веб-приложение, прежде чем он сможет с ним взаимодействовать, и пока этот экран вверх, зарегистрируйте вашего сервисного работника и дайте ему возможность заполнить свои кеши внутри обработчика install. После завершения обработки install вы можете удалить экран «Загрузка ...» и разрешить пользователям взаимодействовать с вашим веб-приложением.

...