カスタマイズするためにいくつかの設定を渡すことができる汎用モジュールを作りたいと思います。たとえば、ルートモジュールに私はconfigx
オブジェクトに基づいて構築されたルートでモジュールを返します同じコンフィグレーションで同じNgModuleを再利用
@NgModule({
imports: [
moduleFactory(config1),
moduleFactory(config2),
moduleFactory(config3)
],
})
export class AppModule { }
moduleFactory
のようなものを持っていると思います。これらのモジュールは、設定オブジェクトに基づいてカスタマイズされたコンテンツを表示するいくつかのビューを提供します。どうやってやるの?
'ModuleWithProviders'を使用して実行する方法がありますが、ランタイム実行が必要なロジックを' moduleFactory'に入れると、AOTで動作しません –
@ AngularInDepth.com私が抱えている主な問題は、 AOT。今はルートを定義するメインの 'NgModule'しか持っていません。ルート設定の配列では、ルートオブジェクトの設定を返す関数を呼び出します。' ng serve'を実行するとエラーが出ます:シンボル値を静的に解決する際にエラーが発生しました。関数 'admin'を呼び出すと、関数呼び出しはサポートされません。 コードを少なくするためにAOTを放棄する価値はありますか?私はAOTをよく理解していないし、それを使う利点を知らない。 – csbenjamin
ええ、静的解析はコードを評価しないと予想されます。いいえ、AOTを放棄する価値はありません。コンパイラは、あなたがAOTに同梱されていないブラウザに出荷されるAngularコードの約40%を取得します。また、コンパイル済みのコンポーネントを使用すると、起動時間も短縮されます –