Задать вопрос
@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 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Академия Eduson
    React-разработчик
    2 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽