2016-09-08 2 views
1

Ich habe mir 3 Tage lang den Kopf gerissen und versucht, eine Ahead-of-Time-Compilation meiner Angular 2 rc.6-Anwendung zu bekommen.Angular 2 AoT-Compiler: kein Fehler, aber irgendwas stimmt definitiv nicht

Die Anwendung kompiliert und läuft gut mit Just-in-Time-Compilierung.

Ich habe alle Abhängigkeiten installiert ist, führen ngc (den Compiler), änderte sich meine main.tsplatformBrowser() zu verwenden, und führen Sie ngc wieder.

Es gibt keinen Fehler in der Konsole. Die .ngfactory.ts Dateien werden generiert. Die .js Dateien auch. So weit, ist es gut. Hier meine Struktur ist (es ist ein Chaos, aber ich werde Adresse, wenn ich jemals diese Arbeit bekommen kann)

directory structure

Die App aus dist/ verläuft. Problem ist, sobald ich systemjs.config.js aktualisiere und map['app'] von dist zu dist/dev ändere und die App laufe, gehen Sachen bergab schnell.

Der erste Hinweis, dass etwas wirklich falsch ist, ist, dass während ich erwartete, dass die Anzahl der HTTP-Anfragen und die Menge der Daten mit AoT drastisch reduziert wurde, das Gegenteil passierte. Ich habe jetzt 200 mehr Anfragen bei Bootstrap!

Zweitens, obwohl es keine Fehler während der Kompilierung gab, wird die App nicht ausgeführt. Ich bekomme eine 404 not found auf dem Pfad: http://localhost/traceur. Was? Warum ist traceur beteiligt? wird das nicht für die In-Browser-Übertragung verwendet? Wo kann ich anfangen zu suchen, was falsch ist?

Antwort

0

Gleichermaßen habe ich die offiziellen Guides mit systemjs als meinen Loader verfolgt und die UMD-Bundles verwendet. Aber das würde nicht korrekt abbilden! Also habe ich meine Systemjs Einstellungen neu konfiguriert und bekomme alle Pakete. Aber jetzt ist traceur.js das einzige fehlende Paket. Was ist das?

Edit: Also ich gemappt tracuer in systemjs, wie so:

'traceur': 'node_modules/Traceur/src/traceur'

Aber ... jetzt zeigt nichts auf meiner Seite nach oben. Ich glaube, dass meine gesamte Konfiguration mit den Paketen falsch ist, weil warum meine App Pakete anfordert, die nicht korrekt mit den UMD-Bundles verknüpft sind?

Verwandte Themen