Невозможно зарегистрировать работника службы в угловых, используя угловой - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь преобразовать мое угловое приложение в PWA, поэтому попытался добавить сервисного работника, используя npm install @angular/service-worker --save и ng add @angular/pwa, после чего я собираю приложение в производственном режиме, используя ng build --prod, и обслуживаю приложение, используя ng serve --openно там в консоли -> вкладка приложения у меня manifest.json работает нормально, но service worker не регистрируется и ничего не показывает в разделе рабочего сервиса.

Вот мой src / index.html
Вот мой src / main.ts
Вот мой angular.json
Вот мой ngsw-config.json
Вот мой src / app / app.module.ts

1 Ответ

0 голосов
/ 12 февраля 2019

Service Worker запускает ONLY ON HTTPS домен .. если вы тестируете его на localhost, он не может работать .. возможно, попробуйте запустить ваш сайт localhost с угловым кликом с:

ng serve --prod --ssl=true

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

попробуйте также в файле main.ts:

platformBrowserDynamic().bootstrapModule(AppModule)
  .then(() => {
    if ('serviceWorker' in navigator && environment.production) {
      navigator.serviceWorker.register('/ngsw-worker.js', {
        updateViaCache: 'none'
      }).then((sw) => {
        sw.update();
      });
    }
  })
  .catch(err => console.log(err));

и дважды проверьте папку dist на наличие всех необходимых файлов:

ngsw-worker.js

и

 ngsw.json 

, как вы видите на снимке экрана

enter image description here

...