2017-05-04 10 views
0

私はバレルを使ってコンポーネントやサービスなどをインポートしたりエクスポートしたりしているプロジェクトに取り組んでいます.Redditの記事では、コンセプトと使い方を理解していますが、 。私は両方の概念を理解していますが、潜在的にそれぞれの違いのユースケースを強調する詳細にはなりません。角モジュールはバレルの必要性を減らしましたか?

答えて

0

私はAngularのドキュメントとAngularモジュールの機能を掘り下げた後、私の質問に答えました。

バレルは角度用語集で説明されていますが、「角度モジュールを使用すると同じ結果が得られることが多い」と言われることもあります。

出典:https://angular.io/docs/ts/latest/glossary.html#!#B

は「輸出」への機能コンポーネント、ディレクティブおよび/またはパイプも同じ結果を達成するために私を助けました。私はこのコンセプトを以前よりよく理解していませんでした。

他のモジュールのコンポーネントがテンプレートで参照できる宣言可能なクラスをエクスポートします。これらはあなたのパブリッククラスです。クラスをエクスポートしない場合は、このモジュールで宣言されている他のコンポーネントにのみ表示される非公開のままです。

このモジュールまたはインポートされたモジュールで宣言されているかどうかにかかわらず、宣言可能なクラスコンポーネント、ディレクティブ、およびパイプをエクスポートできます。

インポートされたモジュール全体を再エクスポートすることができます。これにより、エクスポートされたすべてのクラスが効果的に再エクスポートされます。モジュールは、インポートしないモジュールをエクスポートすることもできます。

出典:https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-what-to-export

バレルの必要性は、角のモジュールの導入と交換したかのように要約すると、それが見えません。しかし、バレルの使用は依然として適用可能である。

+0

多くのモジュールをインポートするためにバレルを持つことができるので、モジュールとバレルは異なります。私はあなたが話していることは、コンポーネントをエクスポートするモジュールの機能とそれが最初にインポートする他のものを、コンポーネントをエクスポートしたモジュールをインポートするすべての他のモジュールで使用できるようにすることだと思います。これは "module over module"を扱うための方法です。たとえば、childModuleをexportするchildModuleをrootModuleにインポートし、rootModuleでchildComponentを使用できます。ここではバレルとして機能しますが、そうではありません。バレルの感覚は「パッケージ」です。モジュール感はカプセル化です。 – Sam

関連する問題