Angular 5のリリースを前にした、最後の4.xリリースとなるAngular 4.3は、従来バージョンとの完全な互換性を保ちつつ、新しいHttpClientモジュールやルータのライフサイクルイベントなど、多数の新機能を持っている。
前述のように、Angular 4.3のおもな新機能のひとつはHttpClientモジュールである。これは、従来のHttpモジュールを完全に書き直したもので、3つの重要な改善点を備えている。
- 応答として
.json属性へのアクセスが提供されることにより、応答テキストを明示的にパースする必要がなくなる。 - インタセプタを使用して要求と応答を処理するための、新しい汎用的なメカニズム。インタセプタを構築するには、
HttpInterceptorインターフェースを実装するクラスを宣言した上で、要求あるいは応答を処理する他のインタセプタにチェーンすればよい。 - 要求のアップロードと応答のダウンロードの両方を追跡可能なプログレスイベント。
コントリビュータのCédric Exbrayat氏によると、既存コードから新しいHttpClientモジュールへの移行は極めて容易で、不要になったコードの削除が主体であるということだ。
Angular 4.3にはまた、ResolveStart, ResolveEnd, GuardsCheckStart, GuardsCheckEndなど、GuardsCheckおよびResolveのためのルータレベルイベントも追加されている。これらのイベントは、リゾルバあるいはガードが実行するタイミングが必要な場合に有効だ。さらにバージョン4.3には、/deep/ CSSセレクタ用に::ng_deepエイリアスも追加されており、子コンポーネントに対する強制的なスタイル適用が可能である。これは主に、/deep/がChromeで廃止され、すべての主要なブラウザから削除されたことへの対応策である。
最後に、ngcコンパイラが変更され、TypeScript 2.3 Transformersのコンセプトに統合された。TypeScript Transformersは、tscによってコンパイルされたコードに適用されるプラグインだ。Angular 4.3の変更により、ngcはtscのラッパではなく、tscによってコールされるプラグインになった。これによって診断性が改善され、型チェック失敗時には、Angularソースファイル内の該当行を正確に参照できるようになる。
詳細はAngular 4.3の変更点の全リストで確認可能だ。
この記事を評価
- 編集者評
- 編集長アクション