web-dev-qa-db-ja.com

Uncaught TypeError:registerNgModuleType-angular PWAで未定義のプロパティ 'id'を読み取れません

@ 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"
  }
}
3
Arter

これは、該当するモジュールでimportsdeclarationsを混同した場合(または他のいくつかの混同)によく発生します。たとえば、_componentimports配列に入れたとします。この場合、modulesのみを「宣言」する必要があります。コンポーネントはdeclarations配列にある必要があります。

1
Jai