2017-03-07 1 views
3

ich die folgenden Laufzeitfehler bin immer nach meinem Aufbau Angular2 App mit der --prod Flagge:Ärger zu schießen „Runtime-Compiler nicht geladen“

Runtime-Compiler nicht

geladen Ich verstehe, dass die Produktions-Builds verwenden AoT, und Laufzeitkompilierung wird in diesem Szenario nicht unterstützt.
Mein Problem ist: Ich bin mir nicht bewusst, irgendetwas, was ich tue, würde den Laufzeit-Compiler benötigen. Es könnte sogar eine externe Komponente sein, die ich verwende.

Wie finde ich heraus, welche Komponente diesen Fehler verursacht?

+0

Welche 3rd-Party-Pakete verwenden Sie? –

+1

Ziemlich viele. Ich fand heraus, dass das Problem die Verwendung von DynamicComponent durch angular2-busy war. Das habe ich jedoch nur herausgefunden, weil diese Komponente nicht mehr funktioniert. Gibt es keinen deterministischen Ansatz? –

+0

Nicht sicher, was Sie mit "deterministischen Ansatz" meinen. Wenn Sie zur Laufzeit Komponenten erstellen, können Sie AoT derzeit nicht verwenden. Siehe auch http://StackOverflow.com/a/42619501/217408 –

Antwort

0

Ich hatte das ähnliche Problem mit AoT Kompilierung, wenn ich versuchte, faul Modul Laden mit Modultyp anstelle des Pfades zu verwenden.

korrekte Beladung:

{ path: 'lazy', loadChildren: 'lazy/lazy.module#LazyModule' } 

Way, ich habe es getan (abstürzt AOT):

export function loadLazyModule() { 
    return LazyModule; 
} 
export const appRoutes: Routes = [ 
    { path: 'lazy', loadChildren: loadLazyModule, }, 
]; 

der Tat die Fehlermeldung überhaupt nicht hilfreich ist, jedoch die Stack-Trace ist:

at Compiler.compileModuleAsync (core.js:3664) 
at MergeMapSubscriber.eval [as project] (router.js:4467) 

ich habe gerade einen Haltepunkt an compileModuleAsync Funktion und an der Haltestelle sah ich die Modul wh Ich habe den Fehler verursacht.