Реактивный сервис-работник постоянно кэшируется в Chrome - PullRequest
0 голосов
/ 23 января 2019

В Chrome мой работник службы реагирования (созданный с помощью CRA) постоянно кэшируется и обслуживает старую сборку. Жесткая перезагрузка ничего не меняет. Если я зайду в инструменты разработчика и вручную выберу обход для сети, которая решает проблему, но, очевидно, это не решение, которое будет работать для клиентов. Наше приложение обслуживается с Apache. В принципе, мне интересно, как лучше указать no-cache в этой ситуации?

Я видел посты, в которых предлагается использовать теги <meta http-equiv="Cache-control"> в index.html, но я также читал, что предпочтительно указывать Cache-control: no-cache в конфах Apache - так что любой определенный ответ относительно лучших практик будет приветствоваться , Я также пытался просто unregister() работник службы безрезультатно.

// I also tried tweaking my SW configs here
// registerServiceWorker.js

function registerValidSW(swUrl) {
  navigator.serviceWorker
    .register(swUrl, {
      updateViaCache: "none" // <-- optional param
    }

Несмотря на то, что я пробовал, любой, кто посетил старый сайт в Chrome, в настоящее время "застрял" с этой старой сборкой.

1 Ответ

0 голосов
/ 23 января 2019

От парня, за которым я следую в Твиттере,

Я также рекомендую открыть src / index.js и удалить вызов метода registerServiceWorker () внизу, поскольку это может вызвать некоторые запутанные проблемы с кэшированием (например, запретить вам доступ к конечным точкам API в браузере после загрузки React приложение один раз).

В этом сообщении в блоге

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...