Angular2 AOT mit Lazy Loading Kann [Pfad zu Lazy-Modul] nicht beheben. ngfactory.ts

8

Ich versuche eine App zu konvertieren, die bereits mit Lazy geladenen Modulen in AOT gearbeitet hat. Ich benutze das @ ngtools / webpack Toolkit, um den AOT Code zu kompilieren, aber ich bekomme einen Fehler, dass Angular den Code des Lazy geladenen Moduls nicht finden kann, wie es scheint.

%Vor%

Erwähnenswert in meiner App Routen Definition dieses Projekt Modul ist träge geladen:

%Vor%

So sieht mein Setup aus:

tsconfig:

%Vor%

Webpack:

%Vor%

Main.aot.ts

%Vor%

Im Webpack kompiliere ich ts Dateien mit @ ngtools / Webpack indem ich folgendes mache:

%Vor%

Danke für Ihre Hilfe!

    
Joao Garin 03.11.2016, 08:45
quelle

1 Antwort

8

Ich habe mich mit AOT und Lazy geladenen Modulen angestrengt.

Die Auswahl des einen oder anderen war nicht wirklich eine Option für prod build.

Selbst wenn ich diese Features wirklich brauchte, konnte ich sie nicht bekommen und musste aufgeben. Bis heute!

angular-cli hat vor zwei Tagen eine Veröffentlichung veröffentlicht: 1.0.0-beta .21 was AOT und Lazy loading unterstützt!

In Ihrem angular-cli Projekt:

%Vor%

Viel Spaß!

PS: Ein großes Dankeschön an das angular-cli-Team, das hier eine großartige Arbeit geleistet hat ...!

BEARBEITEN:
Ich habe einige Benchmarks gemacht:

%Vor%

(Die Ergebnisse sind nicht super gut, weil ich viele Dinge geöffnet habe und 3 Monitore und mein Laptop hat Schmerzen ^ __ ^).

Hier können wir uns daran erinnern:
- Die Build-Größe --prod --aot ist 27% kleiner als --prod Build-Größe - Der --prod --aot Build ist beim Erstellen von Skripts 31% schneller als --prod Build
- AOT ist cool!
- Es gibt wahrscheinlich einen Fehler ohne aot -Flag, denn wenn ich etwas nicht verpasst habe, konnte ich den Lazy Loaded Chunk nicht finden, den ich erwartet hatte, und ich fand den angeblichen Lazy Loaded Code im Hauptpaket. Ich habe auf Github ein Problem geöffnet.

    
Maxime 24.11.2016 13:56
quelle