この記事では、Angular10 の新機能について説明します。一定の参考値があるので、困っている友達が参考になれば幸いです。
Angular 10 は、人気のある Web 開発フレームワークのメジャー アップグレードであり、通常は 6 月 24 日に正式リリースとして利用可能になります。正式バージョンのアップグレードは、Google が開発した TypeScript ベースのフレームワークに基づいており、新バージョンよりも品質、ツール、エコシステムの改善機能に重点を置いています。
Angular 10 は、以前の Angular バージョンよりも小さいです。新機能には、Angular マテリアル UI コンポーネント ライブラリの新しい日付範囲ピッカーと CommonJS インポート警告が含まれます。 CommonJS インポート警告は、CommonJS にパッケージ化された依存関係を使用すると、アプリケーションが大きくなり速度が遅くなる可能性があるため、開発者が ECMAScript モジュール パッケージを置き換えることができるように警告します。
関連チュートリアルの推奨事項: 「angular チュートリアル」
さらに、オプションの厳密な設定により、新しいワークスペースを作成するときにより厳密なプロジェクト設定が提供されますng new
、ng new -- strict
を介して。このフラグを有効にすると、新しい設定で新しいプロジェクトが初期化され、保守性が向上し、エラーの検出に役立ち、CLI がアプリケーションで高度な最適化を実行できるようになります。
Angular 10 の一般リリースは GitHub で見つけることができます。現在の Angular インストールを更新するには、次のコマンドを実行できます:
ng update @angular/cli @angular/core
Angular 10 の主な機能含む:# #####
yarn
または npm install
を実行する際のダウンロードとインストールが Angular パッケージとライブラリの時間に節約されます。 EntryPointFinder
。これは、tsjconfig.json ファイルで指定されたプログラムのインポートからシードできるプログラム ベースのエントリ ポイント ファインダーです。アクティブなプログラムがインストールされているエントリ ポイントの小さなサブセットのみをインポートする場合、これは DirectoryWalkerEntryPointFinder
よりも高速であることが予想されます。 &
などの HTML エンティティから削除されました。 ModuleWithProviders
を必須にすることです。 ModuleWithProviders
パターンが Ivy のコンパイルおよびレンダリング パイプラインで動作するには、ジェネリック型パラメーターが必要ですが、この送信前は、View Engine でジェネリック型を省略できました。開発者がジェネリック型なしで ModuleWithProviders
を使用している場合、バージョン 10 の移行ではコードが更新されます。ただし、開発者が View Engine を使用し、ジェネリック型を無視するライブラリに依存している場合は、ビルド エラーが発行されます。この場合、ngcc は役に立ちません。移行はアプリケーション コードのみを対象とします。ライブラリを修正するには、ライブラリの作成者に連絡する必要があります。回避策として、tsconfig で SkipLibChecks を false に設定するか、Ivy のみを使用するようにアプリケーションを更新します。
現在、TypeScript 3.9 が搭載されており、TypeScript 3.8 のサポートは削除されました。これは大きな変化です。 TypeScript 3.6 および TypeScript 3.7 もサポートされなくなりました。 TargetedEntryPointFinder
が必要な場合にのみ作業が行われるようになりました。以前は、ファインダーがインスタンス化されるたびに basePaths
が計算されていましたが、ターゲットのエントリ ポイントがすでに処理されている場合は労力が無駄でした。
複数の翻訳ファイルの結合をサポートします。以前は、ロケールごとに 1 つの翻訳ファイルのみが許可されていました。ユーザーはロケールごとに複数のファイルを指定できるようになり、各ファイルのトランザクションはメッセージング ID によってマージされます。 retryDelay
オプションを設定するための ngcc.config.js ファイルのサポートが追加されます。統合テストには新しいタイムアウト チェックが追加され、ngcc.config.js を使用してタイムアウトが短縮され、テストに時間がかかりすぎるのを防ぎます。
互換性を破る変更として、不明な要素に関する警告がエラーとして記録されるようになりました。これによってアプリケーションが中断されることはありませんが、console.error を介して何も記録されることを期待しない一部のツールがトリガーされる可能性があります。 default!Empty
などの特定の値を更新する必要があります。
メタデータに依存関係情報と ng-content セレクターを追加しました。提案されたコンパイラ機能は、ライブラリで定義されたディレクティブ/コンポーネントの提案を提供する機能とともに、Angular Language Service などのツールに役立つ追加のメタデータを提供します。 B
形式コードを使用して時刻を形式設定する場合、表示される文字列は数日間にわたる日照時間を正しく処理できません。代わりに、ロジックはデフォルトのケースである AM
に戻ります。このロジックは午前 0 時以降の時刻に一致するように更新され、正しい出力 (例: 英語の at night
at night
) が表示されるようになりました。formatDate()
または DatePipe
または b
および B
形式コードを使用するアプリケーションは、この変更の影響を受けます。 CanLoad
プロテクターは Urltree
を返すことができるようになりました。 Return CanLoad
ProtectionUrltree
of Urltree
現在のナビゲーションとリダイレクトをキャンセルします。これは、同じく追加された CanActivate
ガードで利用可能な現在の動作と一致します。これはプリロードには影響しません。 CanLoad
ガードはあらゆるプリロードをブロックします。CanLoad
ガードを持つルートはプリロードされず、ガードはプリロードの一部として実行されません。 --compilation_level=SIMPLE
を使用して現在のビルド パイプラインを閉じることを検討できます。このフラグにより、ビルド パイプラインはビルド可能で実行可能なアーティファクトを確実に生成しますが、高度な最適化が無効になっているため、ペイロード サイズは増加します。 翻訳元: https://www.infoworld.com/article/3537449/whats-new-in-angular-10.html
以上がAngular10 の新機能についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。