1

Angular2 でコミュニティに貢献する機能を開発する予定です。

この機能は、1 つのディレクティブと 1 つのサービスで構成されます。

この機能を 1 つのモジュール (または複数のモジュール) に最適に詰め込む方法を考えています。

  • サービスはグローバルである必要があるため、ユーザーがコア モジュールにインポートする必要があります。遅延ロードされたモジュール内にインポートすることはできません。
  • ディレクティブは、ユーザーが使用する必要がある場所にインポートできます

それを機能させるには、2 つの異なるモジュールを作成する必要があります。1 つはサービスを含み、コア モジュールによってインポートおよび再エクスポートする必要があります。ディレクティブは、ユーザーが必要とする場所にインポートするか、共有モジュールでグローバルにインポートできます。

機能を 2 つのモジュールに分割する必要があるため、この構成はあまり好きではありません。

Angular2 がどのように機能するかを知っているユーザーは、問題なくセットアップできるはずですが、それでも、すべてを 1 つのモジュール内にラップすることが可能であることが望ましいでしょうか? これを達成するための現在のベストプラクティスはどれですか?

現在、別の解決策はありません。サービスとディレクティブを同じモジュールに配置すると、ディレクティブをコンポーネントにインポートする必要がある場合、サービスは同じインポートに含まれます。コンポーネントが遅延ロードされている場合、そのコンポーネントのサービスの 2 つ目のコピーが作成されますが、これは正しくありません。

よろしくお願いいたします。

4

1 に答える 1