2017-07-12 11 views
1

私はまだ働いていたthis.route.params.first()を使用して、しかしimport 'rxjs/add/operator/first';角度CLI rxjsオペレータの輸入

を追加したことはありません。どうして?

すべてのファイルに多くの演算子をインポートする必要はありませんか?

import 'rxjs/add/operator/first'; 

よう

答えて

3

輸入はObservableプロトタイプにパッチ演算子を参照してください。 the sourceを参照してください。

このようなインポートは、ファイルごとに行う必要はありません。それらは一度だけインポートする必要があります。その後、オペレータはプロトタイプを介して呼び出し可能です。

また、インポートしている別のライブラリでそのインポートを使用すると、プロトタイプにパッチが適用され、演算子が使用可能になります。このため、Angularのようなライブラリの中には、プロトタイプにパッチを当てずに演算子を明示的にインポートするものがあります。この方法では、クライアントコードは、Angularによって実装されたプロトタイプパッチインポートに依存しません。また、Angular内のインポートはクライアントコードを破ることなく削除できます)。

様々なインポートメカニズムthe docs

+2

また、以前は、こうした種類のRxJSインポートを管理するための一連のTSLintルールを公開していました。https://github.com/cartant/rxjs-tslint-rules – cartant