Winkel-AOT-Kompilierung Fehler "nicht feststellen-Modul für die Klasse Komponente"

Habe ich eine Eckige (4.3.2) Anwendung, auf die ich durchführen möchten AOT bauen. App wurde erstellt mit @angular/cli. Ich habe zwei Komponenten eingerüstet mit ng generate und ein Modul, in dem beide enthalten sind, als eine Erklärung:

import {PrivateComponent} from './private.component/private.component';

NgModule({
   imports: [
      //other imports
      PrivateRoutingModule
   ],
   declarations: [
      ...some other components, 
      PrivateComponent, 
      AppTopBarComponent
   ]
   //other stuff 
}) 
export class PrivateModule {}

Private Komponente ist auch in das Modul routing:

const routes: Routes = [
  {path: '', component: PrivateComponent, children: //other components}
] 

@NgModule({
   imports: [RouterModule.forChild(routes)] //this is the Angular built-in router module
})
export class PrivateRoutingModule {}

Beachten Sie, wie das routing war in einem anderen Modul definiert und importiert in PrivateModule
Die AppTopBarComponent ist im PrivateComponent's Vorlage. Also beide werden verwendet und erklärt. Aber wenn ich "node_modules/.bin/ngc" -p tsconfig-aot.json (ich bin auf Windows 10), bekomme ich diese Fehlermeldung:
Cannot determine the module for class PrivateComponent in (path-to-project)/src/app/pages/private/private.component/private.component.ts! Add PrivateComponent to the NgModule to fix it.
Cannot determine the module for class AppTopBarComponent in (path-to-project)/src/app/pages/private/app.topbar.component.ts! Add AppTopBarComponent to the NgModule to fix it.. Meine tsconfig-aot.json Datei ist genau die gleiche wie in der Winkel-AOT bauen-Anleitung.

  • Es ist erwähnenswert, die ich traf auf mehrere Fragen in der Sache, aber das problem war hauptsächlich für die unbenutzten Komponenten. Meine sind tatsächlich verwendet.
  • Sie vergaß hinzuzufügen, PrivateComponent in import import {PrivateComponent} from './private.Komponente/privat.die Komponente';
  • meine schlecht, ich vermisste es zwar kopieren-einfügen. Es ist tatsächlich in den Quellcode
  • Die ersten @ für NgModule auch ?:)
Schreibe einen Kommentar