Я регистрирую ngsw-worker.js как в main.ts, так и в app.module.ts. Это нормально?
Как бы это создало 2 экземпляра сервисного работника? Будет ли конфликт в сервисном работнике?
main.ts
platformBrowserDynamic().bootstrapModule(AppModule).then(() => {
if ('serviceWorker' in navigator && environment.production) {
navigator.serviceWorker.register('/ngsw-worker.js');
}
}).catch(err => console.log(err));
app.module.ts
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ServiceWorkerModule.register('/ngsw-worker.js', {enabled: environment.production}),
AppRoutingModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
Я регистрирую его в main.ts из-за этой причины .
Он зарегистрирован в app.module.ts, потому что проект по умолчанию Angular-cli SW добавляет его сюда.
После регистрации работников службы в файлах main.ts и app.module.ts я добавляю SDK Firebase Cloud Messaging в экземпляры Service Worker.
navigator.serviceWorker
.ready
.then((registration) => this.firebase.messaging().useServiceWorker(registration));
Итак, вкратце, регистрация двух экземпляров ngsw-worker.js будет проблемой?