Чтобы интегрировать PWA в ваш проект, вам необходимо выполнить следующие шаги:
Установите эти 2 пакета
"@angular/pwa": "0.12",
"@angular/service-worker": "^7.2.12"
В файле angular.json добавьте конфигурацию serviceWorker, как это
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"serviceWorker": true
}
}
Создайте ngsw-config.json на том же уровне angular.json, как этот
{
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/assets/favicon.ico",
"/*.css",
"/*.js"
],
"urls": [
"https://cdnjs.cloudflare.com/**"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**",
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
]
}
}
]
}
И, наконец, в ваш app.module.ts добавьте в раздел импорта
ServiceWorkerModule.register("ngsw-worker.js", { enabled: environment.production })