Поскольку вы используете угловой 5.2.1, ваш CLI должен быть не ниже 1.6, и вы можете делать следующее:
$ npm install @angular/service-worker
$ ng set apps.0.serviceWorker=true
Эта последняя команда устанавливает флаг serviceWorker
в angular-cli.json
.
Затем вы можете настроить модуль приложения:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ServiceWorkerModule } from '@angular/service-worker';
import { environment } from '../environments/environment';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
ServiceWorkerModule.register('/ngsw-worker.js', {
enabled: environment.production
})
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
Затем вы можете добавить файл конфигурации служебного работника ngsw-worker.js
в каталог src
:
{
"index": "/index.html",
"assetGroups": [{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html"
],
"versionedFiles": [
"/*.bundle.css",
"/*.bundle.js",
"/*.chunk.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}]
}
Проверьте эту статью для более подробной информации: https://alligator.io/angular/service-workers/
Надеюсь, это поможет.