ngsw-worker.js файл не извлекается при последующих HTTP-запросах

#angular #service-worker #progressive-web-apps

#angular #service-worker #progressive-веб-приложения

Вопрос:

Итак, я выполнил все шаги в этом руководстве Angular в их документации:

https://angular.io/guide/service-worker-getting-started#getting-started-with-service-workers

Когда я создаю проект Angular в первый раз, запускаю его в браузере Chrome инкогнито, в моих журналах говорится, что ngsw-worker.js файл был успешно восстановлен (GET) с помощью http-server .

Когда я удаляю service worker в инструментах разработки, открываю новую вкладку «инкогнито» (или закрываю браузер и открываю новое окно «инкогнито»), из ngsw-worker.js не http-server извлекается, следовательно, в браузере нет service worker.

Почему это? Это давало мне покоя целую вечность. Единственный способ получить новый service worker — это перестроить проект с помощью ng build --prod . И даже тогда это может быть довольно непоследовательно.

Дополнительная информация:

  • Я запускаю свой локальный сервер с http-server -p 8080 -c-1 dist/<project-name>
  • Версия Angular: 7.1.1

Ответ №1:

В некоторых версиях Angular 7 service worker работает некорректно.

Смотрите сообщение автора в этом выпуске GitHub о временном обходном пути