@webfln

Почему не сбрасывается кэш в service worker CRA?

Кто нибудь использует CRA 3.0.0 + сервисы воркеры?
Использую CRA 3.1.1 и сервис воркеры.

Регистрирую так:
worker.register({
  onUpdate: registration => {
    const waitingServiceWorker = registration.waiting;

    if (waitingServiceWorker) {
      waitingServiceWorker.addEventListener('statechange', event => {
        if (event.target.state === 'activated') {
          window.location.reload();
        }
      });
      waitingServiceWorker.postMessage({ type: 'SKIP_WAITING' });
    }
  }
});


После того как было загружено обновление, на десктопе все работает отлично. Сервис воркер шлет SKIP_WAITTING и страница перезагружается, кэш сбрасывается.
Но на смартфонах возникают проблемы. Например на Android в хроме, иногда после обновления страницы обновления подгружаются, а иногда кэш намертво лежит. Если говорить про PWA - то там обновление вообще не помогает, ничего не произойдет пока не обновится в самом браузере.
В сафари, отлично обновляется (в браузере), в PWA - мертво, только переустановка.
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы