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!
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:
(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.
Tags und Links angular angular2-routing angular2-aot