2017-03-07 7 views
3
私は --prodフラグと私のAngular2アプリを構築した後、次のランタイムエラーを取得しています

は、「ランタイムコンパイラがロードされていません」本番環境ではAoTを使用しており、このシナリオではランタイムコンパイルはサポートされていません。
私の問題は次のとおりです。実行時コンパイラが必要としていることを私が認識していません。それは、私が使用している外部コンポーネントでさえあるかもしれません。トラブル撮影

このエラーの原因となっているコンポーネントを確認するにはどうすればよいですか?

+0

使用しているサードパーティのパッケージはどれですか? –

+1

かなりです。問題は、angular2-busyでDynamicComponentを使用していることがわかりました。しかし、コンポーネントが機能しなくなったために、これを見つけました。より決定論的なアプローチはありませんか? –

+0

「決定論的アプローチ」とは何を意味するのかよく分かりません。実行時にコンポーネントを作成する場合、現在AoTを使用することはできません。また、http://stackoverflow.com/a/42619501/217408 –

答えて

0

パスの代わりにモジュールタイプを使用して遅延ロードを使用しようとしたときに、AoTコンパイルで同様の問題が発生しました。

正しいロード:

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

ウェイ、私は(IBMアカデミーをクラッシュ)それをやった:

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

は、実際にエラーメッセージがまったく役に立たない、しかし、スタックトレースは次のとおりです。

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

私はちょうどcompileModuleAsync機能にブレークポイントを作ったし、停止時に私は、モジュールWHを見ましたichはエラーを引き起こしていました。

関連する問題