Каковы надлежащие шаги для изменения или замены сервисных работников на производстве? - PullRequest
6 голосов
/ 17 января 2020

У меня есть встроенный PWA Angular, который в производстве и использует работника службы sw-precache. Это было до того, как Angular получил пакет @angular/pwa. Если бы я хотел переключиться и начать использовать Angular sw вместо того, как бы я go сделал это?

Программно мне нужно было бы обработать это для пользователей. Я думаю, мне нужно получить зарегистрированные SW, проверить имя старого SW, отменить его регистрацию (очистить кеш?), А затем зарегистрировать новый. Это так просто? Я чувствую, что с работниками сферы обслуживания и работой с кешами будут некоторые ошибки. Однако я пока не нашел фактического примера этого процесса.

Буду очень признателен за любые примеры кода. Спасибо!

Ответы [ 2 ]

1 голос
/ 24 января 2020

В основном вам необходимо убедиться, что вы «сняли с регистрации» старого работника сервиса. Если вы добавите @ angular / pwa через схемы, они также создадут для вас файл с именем safety-worker.js, который в их документации используется именно для этой цели: когда вы хотите удалить старое ПО, вы можете использовать этот файл, просто переименуйте safety-worker.js в любое имя вашего работника sw-precache. Этот файл также может содержать инструкции по удалению старого кэша (который вам нужно добавить самостоятельно). Документацию для специалиста по безопасности можно найти в официальной документации .

. Вы уже можете обновить файл манифеста с новой ссылкой на ngsw-worker.js, так как после удаления старого программного обеспечения при следующем посещении страницы новое ПО будет установлено и вступит во владение при последующих посещениях.

0 голосов
/ 22 января 2020

Проверьте этот рекомендуемый рецепт для вашего работника сервиса. https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offer_a_page_reload_for_users. Таким образом, вы можете уведомить своих пользователей о том, что доступен новый Service Worker, и они могут его получить. Надеюсь, это поможет вам.

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