как не удалось подписаться на уведомления Ошибка: работники службы отключены или не поддерживаются этим браузером в angular

#javascript #angular #typescript #push-notification

Вопрос:

приложение.модуль.ts

 ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production })
 

сервер.ts

 let express = require('express');
let bodyParser = require('body-parser');
let cors = require('cors');
let webpush = require('web-push');
let app = express();

const vapidKeys = {
  "publicKey": "BBgLZw6N1A1g9bWA8FmGtf8KLlgojlRZxB4vv9uM9ut6XE3pE2PcjdMrJdQ6K3GITuABgfL7R8szTwZQqelCVWs",
  "privateKey": "kVm8Qkfy6w7anrC4Seh1sYURjRaPML1bsoh4lxuGvwg-MI"
};


webpush.setVapidDetails(
  vapidKeys.publicKey,
  vapidKeys.privateKey
);


app.use(bodyParser.json());


// REST API

// launch an HTTP Server
const httpServer: any = app.listen(9000, () => {
  console.log("HTTP Server running at http://localhost:"   httpServer.address().port);
});
 

книга.компонент.ts

 sendNotification() {

    this.swPush.requestSubscription({
      serverPublicKey: this.VAPID_PUBLIC_KEY
    })
      .then(sub => {

        console.log(sub)

      })
      .catch(err => console.error("Could not subscribe to notifications", err));
  }
 

book.component.html

   <div>
    <button nz-button nzType="primary" [textContent]="'BAIT' | translate" (click)="sendNotification()"></button>
  </div>
 

Как исправить ошибку не удалось подписаться на уведомления Ошибка: Работники службы отключены или не поддерживаются этим браузером
на SwPush.requestSubscription.

значение wspush.isenable этого false . причина, по которой значение производительности среды является ложным. значение по умолчанию environment.production false не должно изменяться на true.