開発覚書はてな版

個人的な開発関連の備忘録

【Angular】Angular 9 バージョンアップで気になった箇所

概要

  • Angular 9 のバージョンアップ内容で気になった箇所をピックアップしていきたいと思います。
  • 基本的にはIvyがメインのリリースになります。

blog.angular.io

Ivy

  • レンダリングエンジンのIvyが正式リリースされました。
  • バンドルサイズの削減や読み込みの高速化が期待されます。

Better debugging

  • テンプレート側でのエラーの場合にスタックトレースから生成コードの行に遷移できるようになりました。

Improved CSS class and style binding

  • 以前は最後に評価されたバインディングが優先されていました。今回からタイミングに依存しない一貫した優先順位になります。
  • style="xxx: yyy" < [style]={ xxx: yyy } < [style.xxx]="yyy" の優先順位のようです

Improved type checking

  • fullTemplateTypeCheck - テンプレート内のすべてをチェックします(ngIf, ngFor ng-template など)
  • strictTemplates - 型チェックが最も厳しいルールが適用されます。

Improved build errors

  • テンプレート側のビルドエラーメッセージが分かりやすくなりました。

Improved build times, enabling Ahead-of-Time compiler by default

  • デフォルトのビルドがAOTビルドになりました。
  • ng update でアップデートすると自動で設定されます。

entryComponents の指定が不要

New options for providedIn

  • providedInのオプションに platformany が追加されました。
  • 玄人向けの機能のようです。基本はrootでよいかも。

Dependency updates

  • RxJS 6.5, TypeScript 3.6 or 3.7
  • TypeScript 3.7が対象になったのでOptional Chainingなど使えて便利に。