Сервисный работник Reactjs в веб-приложении - PullRequest
0 голосов
/ 27 июня 2018

Я новичок в разработке веб-приложений, так что извините за мои вопросы.

Я только что заметил, что веб-приложение, которое я создал с помощью create-реагировать-приложение, в котором установлен сервисный работник, загрузите его на мой сервер, не будет перезагружать новое приложение после сборки, когда я открываю его из локального браузера Chrome, несмотря на то, что я много раз перезагружаю узел на своем сервере, и перезагружаю браузер Chrome.

Я удалил сервисного работника из своего приложения, и теперь Chrome всегда получает новое приложение.

Как «заставить» сервисного работника обновляться в моем приложении, чтобы я всегда получал новое приложение для сборки каждый раз, когда отправляю его на свой сервер?

Если мне нужно добавить этот Cache-Control: no-cache или другой механизм кэширования https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control в чем тогда польза от сервисного работника?

1 Ответ

0 голосов
/ 27 июня 2018

Идеальным решением было бы запретить установку Service worker в режиме Dev. Для вашего рабочего процесса разработки вы всегда хотите новый код без побочных эффектов кэширования сервис-работников. Вы можете сделать это, выполнив что-то вроде -

if ( process.env.NODE_ENV === "PRODUCTION") {
  // service worker init code
}

Также обязательно установите NODE_ENV = PRODUCTION или NODE_ENV = DEVELOPMENT для соответствующих сценариев prod и dev.

Надеюсь, это поможет! ?

Обновление

Несколько проектов, которые помогут вам с жизненным циклом SW -

  1. SW-набор инструментов
  2. форум-плагин
...