@ angular/pwaをアプリに追加した後
ng add @angular/pwa --project appName
エラーが出る
core.js:34469 Uncaught TypeError:registerNgModuleTypeで未定義のプロパティ 'id'を読み取れません
私の場合appName.module.ts
インポートから削除
ServiceWorkerModule.register("ngsw-worker.js", {
enabled: environment.production
})
アプリが再び動作します。
Angular.jsonが追加されました
"serviceWorker": true,
"ngswConfigPath": "projects/tol5-admin-app/ngsw-config.json"
これが私のpackage.jsonです
"private": true,
"dependencies": {
"@angular/animations": "~8.2.5",
"@angular/cdk": "~8.2.2",
"@angular/common": "~8.2.5",
"@angular/compiler": "~8.2.5",
"@angular/core": "~8.2.5",
"@angular/flex-layout": "^8.0.0-beta.27",
"@angular/forms": "~8.2.5",
"@angular/material": "^8.2.2",
"@angular/platform-browser": "~8.2.5",
"@angular/platform-browser-dynamic": "~8.2.5",
"@angular/router": "~8.2.5",
"@angular/service-worker": "~8.2.5",
"@ngrx/effects": "^8.3.0",
"@ngrx/schematics": "^8.4.0",
"@ngrx/store": "^8.3.0",
"@ngrx/store-devtools": "^8.3.0",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
"jquery": "^3.4.1",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.4",
"@angular/cli": "~8.3.4",
"@angular/compiler-cli": "~8.2.5",
"@angular/language-service": "~8.2.5",
"@compodoc/compodoc": "^1.1.11",
"@types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"protractor": "~5.4.0",
"rxjs-tslint-rules": "^4.26.1",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"tslint-angular": "^3.0.2",
"TypeScript": "~3.5.3",
"webpack-bundle-analyzer": "^3.6.0"
}
}
これは、該当するモジュールでimports
とdeclarations
を混同した場合(または他のいくつかの混同)によく発生します。たとえば、_componentをimports
配列に入れたとします。この場合、modulesのみを「宣言」する必要があります。コンポーネントはdeclarations
配列にある必要があります。