私のアプリでは、単純なデータモデルクラスがたくさんあります。例:角度のある遅延読み込みモジュールと共有モデルクラス
export class Client {
first_name: string;
last_name: string;
fullName(): string {
return `${this.first_name} ${this.last_name}`;
}
}
これはClientServiceプロバイダークラスではありません。これらは、アプリケーション全体で使用されるコアモデルクラスです。今、私は遅延ロードされたngモジュールを実装したいと思います。 Angular docsには、コンポーネント、プロバイダ、ディレクティブおよびパイプの共有方法が記載されています。しかし、単純な(注釈のない)クラスについては注意が必要です。 Herosの例はan exported model classですが、モジュールの外では使用されていません。
ルートモジュールはすべてのモデルクラスをインポートする必要があります。フィーチャモジュールは、モデルクラスの宣言だけをインポートする必要があります。すべてのモジュールがロードされた後には、1つのfullName()
メソッド定義が必要です。つまり、モデルクラスのモジュールを定義する必要がありますか?アノテーションを持たないクラスに対してこれを行うことは可能ですか?
更新:distディレクトリのファイルをチェックしました。 Clientクラスのメソッドは、遅延読み込みモジュール(* .chunk.js)には含まれていないことが判明しました。しかし、これはどのように機能しますか? Angular/Webpackはmain.bundle.jsとchunk.jsファイルにどのクラスをパックするべきかを知っていますか?