Я следовал этому руководству: https://angular.io/guide/service-worker-getting-started
В существующем приложении Angular CLI я запустил
ng add @angular/pwa --project *project-name*
ng build --prod
npm start -c-1 dist/<project-name>
Инструменты разработчика Chrome> Приложение Манифест - обнаружен, ошибок и предупреждений нет Сервисные работники - пусто
Вкладка сети загружает каждый файл с 200
ngsw-config.json - существует, сгенерированный командой
assets / icons - каталог сгенерирован
app.module.ts - массив импорта содержит ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })
Запуск аудита PWA возвращает ошибку, если ServiceWorker не зарегистрирован.
Я сделал то же самое, что написано в angular docs, и сервис-воркер не зарегистрирован внутри chrome. Не знаю, как это исправить: /
вы, ребята, нашли решение этой проблемы? У меня начали заканчиваться идеи ...
по мнению некоторых пользователей в github, это связано с тем, что некоторые сторонние библиотеки меняют какое-то состояние приложения, и это нарушает регистрацию сервисного работника
Есть ли шанс, что вы можете дать ссылку на эти обсуждения?


Я была такая же проблема. Добавление этого в main.ts решило проблему.
platformBrowserDynamic().bootstrapModule(AppModule).then(() => {
if ('serviceWorker' in navigator && environment.production) {
navigator.serviceWorker.register('ngsw-worker.js');
}
}).catch(err => console.info(err))
Благодарность! Я до сих пор не понимаю, почему ServiceWorkerModule не регистрирует обслуживающего работника, хотя имя функции в точности фейспалм
Я заметил, что выполнение тех же действий на виртуальной машине под управлением Linux действительно сработало, и сервис-воркер был зарегистрирован. Windows, похоже, неправильно регистрирует сервис-воркера