そこで私は、Angular が完全な 2.0 バージョンに進むある時点で AoT コンパイルを有効にし、最終的に Angular からすべての API を取得してそれを実行する準備ができているという考えで開発されたかなり大きなプロジェクトをここに持ってきました。 ..
まず第一に、プロジェクトは Angular 2 と Typescript 2.0.2 を使用した JiT モードでは非常にうまく機能していますが、AoT ではそうではありません。
大規模な調査の結果、問題は私の宣言/プロバイダー/エントリコンポーネントのリストが動的に集約されているという事実にあることがわかりました.それは必要です。
@NgModule({
declarations:[ configuration.declarations ]
})
そして、次のようなことをしようとするとすぐに:
Error encountered resolving symbol values statically.
JiT モードで集計値を出力し、これらすべてのエントリの静的リストをconfiguration.declarations
手動でここに挿入すると、突然機能しなくなります。
ですから、大きな疑問は - なんてこった?! なぜそれが機能しないのですか、これを克服する方法は?
すべてのサブコンポーネント要件を 1 つのファイルに手動でリストして大規模なアプリケーションを作成すると、適切なコード設計が大きく損なわれるのと同じように、適切なコーディング レイアウトを作成するのが得意であることが証明されている Angular チームが、それを唯一の代替手段として示唆するとは思わないほうがよいでしょう。