it-swarm.com.de

Modul nicht gefunden: Fehler: './$$_gendir/app/app.appule.ngfactory' kann nicht aufgelöst werden

Ich bekomme diesen Fehler, nachdem ich mein angle-cli aktualisiert habe 

ERROR in Template parse errors:
Can't bind to 'index' since it isn't a known property of 'tag'. ("own)="handleKeydown($event, item)"
             (onTagEdited)="onTagEdited.emit(item)"
             [ERROR ->][index]="i"
             [attr.tabindex]="readonly ? -1 : 0"
             [class.readonly]="readonly""): [email protected]:13

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'D:\xxxx\yyyy\eeeee\eeee\src'
 @ ./src/main.ts 5:0-74
 @ multi ./src/main.ts

Dieser Fehler tritt bei der Ausführung von ng build --prod auf und funktioniert gut, wenn ich ng build ohne Parameter ausführt. 

25
Karthikeyan VK

Wenn Sie das ng-Build in angular 2 ausführen, wird das neueste angle-cli automatisch mit dem Parameter --aot ausgeführt (vor der Kompilierung). Daher wird versucht, den Code zu optimieren. Sie haben ein Paket, das zur Optimierung noch nicht kompatibel ist. Sie müssen also Ihre Pakete aktualisieren. Höchstwahrscheinlich die Pakete, die **forRoot()** in Ihrer app.module.ts haben

Ich empfehle, alle Pakete zu aktualisieren.

Eine einfache Möglichkeit zum Aktualisieren Ihres Pakets ist die Verwendung des Pakets ncu npm (siehe unten), das ich von Wie aktualisiere ich angular 2 (npm) korrekt auf die neueste Version?

Installieren

npm install -g npm-check-updates

Verwendungszweck

ncu zur Anzeige

ncu -u Zum Umschreiben Ihrer package.json

und führen Sie npm install aus, um Ihre Pakete zu aktualisieren

Wenn dies nicht funktioniert hat, müssen Sie möglicherweise Ihren Code aktualisieren, um die Kompatibilität zu gewährleisten. Verweisen Sie auf diese URL unten, um Änderungen in Ihrem Code vorzunehmen. https: //medium.com/@isaacplmann/getting-your-angular-2-library-ready-for-aot-90d1347bcad

40

Ich hatte das gleiche Problem und wie ich das Problem gelöst habe, war: Das Modul mit erweitertem Auflösungsvermögen von node_modules löschen und dann ausführen

npm install [email protected]

Danach funktionierten aot Builds wie erwartet ...

22
user2094257

Benutzen:

ng build --env=prod 

anstatt: 

ng build --prod
22
Byron

Konfrontiert mit dem zweiten Teil dieser Ausgabe. 

ERROR in ./src/main.ts
Can't resolve './$$_gendir/app/app.module.ngfactory'

Behebung des Problems durch Aktualisierung von angle/cli auf 1.2.6 für Winkel 4

  1. Entfernen Sie den node_modules-Ordner
  2. Aktualisieren Sie "@ angle/cli": "1.0.4" in "@ angle/cli": "1.2.6" in package.json unter devDependencies
  3. Führen Sie npm install aus

Durch Ausführen von "ng build - prod" wurde der Produktionsbuild erfolgreich generiert.

11
Saravanan Sachi

Gleicher Fehler nach dem Upgrade von Angular 6 auf 7.1.4. Ich habe die Anweisungen hier befolgt.

Der zurückgegebene Fehler war:

ERROR in ./src/main.server.ts
Module not found: Error: Can't resolve './app/app.server.module.ngfactory'

Wenn Sie versuchen, mit dem Befehl ein Pre-Rendering durchzuführen.

ng run [my-project-name]:server

Der Grund war, dass ich den Ivy Render aktiviert habe, der nicht für die Produktion ready ..__ steht.

"angularCompilerOptions": {
  "enableIvy": true
} 

Von der Datei tsconfig.json war wieder alles in der Welt.

1
Jason

Für mich habe ich meine neu erstellte Komponente nicht in module.ts deklariert. Es hat funktioniert, als ich es erklärt habe. Prüfen Sie, ob Ihre Komponenten nicht in module.ts deklariert sind. 

0
Aathreya

Anscheinend kann diese nicht hilfreiche und verwirrende Fehlermeldung durch die Verwendung von Standardexporten in TypeScript verursacht werden, die von Angular AOT (Prerendering) verbraucht werden. Die Verwendung von export default class verursacht diesen Fehler in einer beliebigen Version von Angular und wird derzeit nicht unterstützt. Sie müssen zu export class wechseln.

Informationen zum aktuellen Status des Problems und zur Behebung des Problems finden Sie unter https://github.com/angular/angular/issues/11402 . Als ich das hier geschrieben habe, ist die Ausgabe seit über zwei Jahren offen, aber sie behaupten, dass sie eines Tages behoben werden wird.

0
pbarranis