Задать вопрос
@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 - мертво, только переустановка.
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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