2017-02-22 7 views
0

私は4つの機能モジュールを用意しています。 複数のポップアップコンポーネントがあります。これは、機能モジュールに必要です。 現在、私はこれらのコンポーネントをエクスポートする共有モジュールを作成し、各機能モジュールはこの共有モジュールをインポートします。 この種のデザインのトレードオフは、共有モジュールがすべての機能バンドルに含まれることです。問題は、一部の機能モジュールではポップアップコンポーネントが不要なことです。Angular2共有/コアモジュールを怠けた

アイデア?

+0

"一部の機能モジュールでは、ポップアップコンポーネントが必要ないという問題があります。"それはなぜ問題なのですか?あなたはより良いアプローチをどう思いますか? –

+0

私は、b、cコンポーネントと1,2,3のフィーチャモジュールを持っていたとします。 1つのモジュールにaとbが必要です。 bとcは2つのモジュールで必要とされ、モジュール3はすべてa、b、cのコンポーネントが必要です – user3118041

答えて

1

また、ポップアップコンポーネントごとにモジュールを作成し、実際に使用するコンポーネントを含むモジュールのみをインポートすることもできます。

+0

はい、それは考えています。しかし、私はそれを行うより良い方法があるかどうかを知りたいと思います。 – user3118041

+0

いいえ、まだいくつかの他のモジュールをエクスポートするモジュールを作成できます。この方法で、1回のインポートで一連のモジュールを取得できます。 –

+0

モジュール内のすべてのインポートがバンドル権利に追加されますか? – user3118041

0

私が知っているベストプラクティスによれば、SharedModuleにはディレクティブ、パイプ、共有コンポーネントが必要です。

あなたの質問は、いわゆる「ウィジェット」コンポーネントがどのくらい頻繁にインポートされ、どのくらい大きなものになっているかによって異なります。

これらが小さく、多くの他のモジュールで頻繁に使用されている場合は、それらをSharedModuleに入れてください。 SharedModuleにコンポーネントを置いても、ほかのすべてのモジュールでコンポーネントを使用する必要はありません。 SharedModuleに入れられるのは一般的な "十分な"ものです。

大規模で他のモジュールの大部分でインポートされていない場合は、それらを「フィーチャー」モジュールとして扱い、必要に応じてインポートすることができます。

関連する問題