2017-10-14 7 views
2

Angularアプリケーションで複数の共有モジュールを使用する際に問題があるかどうかは知りませんか?複数の共有モジュールをAngularアプリケーションで使用する

私が疑問に思っているのは、すべてのパイプ、ディレクティブ、共通コンポーネントを1つの大きな共有モジュールに入れて、読み込み機能のうち1つまたは2つだけを使用するレイジーロードモジュールでインポートするとします)、出力ファイルに未使用コードの重複が生じる可能性があります。 次に、複数の共有モジュール間で共有機能を分割し、特定のモジュールごとに必要なモジュールのみをインポートすると、アプリのサイズが小さくなりますか? Angularはデフォルトでこのような最適化をすべて行いますか?

私は、Angularビルドシステムが基づいているwebpackが共通のチャンクを1つのファイルに入れることができることを知っています。しかし、遅延ロードされたモジュールでうまく動作するかどうかはわかりません。

+0

これが役立ちます:https://stackoverflow.com/questions/45024406/do-unused-components-in-shared-modules-slows-down-my-application –

答えて

1

この場合、ng buildが出力するものについて何らかの調査を行いました。私は2つの遅延モジュール(共有機能に依存する)を使用し、共有モジュールをそれらにインポートしました。その後、アプリケーションを構築してファイルをチェックしました。それらには特別なコードは含まれていませんが、main.bundle.jsに完全に置かれた共有モジュールのみを参照していました。

これは、アプリケーションごとに1つの共通の共有モジュールに共有機能を置くことは、ビルドの合計サイズに影響を与える場合、複数の共有モジュール間で共有する機能を分割することと同じではないことを意味します。

+0

良い調査、あなたも読んでみたい記事[Angularのモジュールで一般的な混乱を避ける](https://blog.angularindepth.com/avoiding-common-confusion-with-modules-in-angular-ada070e6891f) –

+0

ありがとう、良い記事! –

+0

ええ、angularindepth.comの出版物には多くのユニークな記事があります –

関連する問題