Ich habe gerade mein Projekt auf Angular 9 aktualisiert und als erstes habe ich festgestellt, dass sich die Erstellungszeit in meinem CI erheblich erhöht hat (von 2 Minuten auf 4 Minuten).
Die CLI analysiert die Protokolle jedes Mal, wenn die Tests oder der Build ausgeführt werden, und führt eine Vorkompilierung durch. Dies liegt an der neuen Ivy-Architektur , aber nach meinem Verständnis sollte diese Kompilierung nur Code enthalten, der nicht Ivy-kompatibel ist.
Warum sehe ich Compiling @angular/common : es2015 as esm2015
in meinem Build viele (hauptsächlich aus @ Angular-Paketen)? Sollte Angular Code selbst nicht mit Ivy kompatibel sein?
Hinweis: Diese auch geschieht mit einem frischen Projekt (Just mit wenigen Bibliotheken).
Update Dies geschieht mit allen Befehlen, für die ein Build erforderlich ist. Ex:
ng test --code-coverage=true --watch=false --browsers=ChromeHeadle
ng b -c=staging --aot
Update 2
Ich füge meine Builds zum Vergleich hinzu: vor Winkel 9 und nach Winkel 9-Migration (Der Build schlägt immer noch fehl, aber wir können den Komponententest als Referenz verwenden, von ~ 2 Minuten bis ~ 4 Minuten Gesamtausführung).