3

ロード時間を短縮するのに役立ちますか?(現在のモジュールのみをクライアントのデバイスにロードするなど?)

私が理解しているのは...

  • サーバーとクライアント間のリクエスト数が増加しますか?
  • コードの複雑さが増します。
  • モジュールをインポートおよびエクスポートし、ルーティングにも特別な注意を払ってください)
4

2 に答える 2

9

Angular は、モジュールの遅延読み込みをサポートしています。このようにして、アプリケーションをオンデマンドでのみロードされる部分に分割できます。

{
  path: 'admin',
  loadChildren: 'app/admin/admin.module#AdminModule',
},

https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routingも参照してください

アップデート

開始ページですべてが必要な場合、遅延読み込みは読み込み時間を短縮しませんが、ほぼ 100% の Angular2 アプリケーションではそうではありませんが、初期読み込みの時間を短縮し、モジュールが読み込まれるまで読み込み時間を遅らせます。実際に必要です。Angular は、必要になる前に遅延ロードされたモジュールをロードするプリロード機能もサポートしていますが、初期ロードではロードしません。

  • サーバーとクライアント間のリクエスト数が増加しますか?

リクエストの数は増えますが、最初のリクエストでロードされるデータの量は少なくなります。主なアイデアは、ユーザーが最初の画面をレンダリングするまでの時間を短縮することです。アプリケーションが頻繁に使用される部分とめったに使用されない部分で構成されている場合、ほとんど使用されない部分は、それらが実際に使用されるまでロードしないことをお勧めします。これは、実際に必要な場合にのみ、「レイジー」または「オンデマンド」を意味します。

  • コードの複雑さが増します。

遅延読み込みの利点を最大限に活用したい場合は、アーキテクチャについて考える必要があります。これは、コードをより複雑にする必要があるという意味ではありません。コンポーネント、ディレクティブ、サービスをどのモジュールに配置するかを決定するだけです。

  • モジュールをインポートおよびエクスポートし、ルーティングにも特別な注意を払ってください)

遅延ロードされていなくても、アプリケーションを異なるモジュール (たとえば、機能ごと) に分割する必要があるため、ここでは大きな違いは見られません。

于 2017-01-10T07:54:08.967 に答える
2

角度のある特定の質問はないと思います。グーグルでモジュールを使用する必要がある理由はたくさんあります。たとえば、ここを見てください:モジュール

あなたの質問への短い答え:

  • ロード時間の短縮には役立たない
  • リクエスト数が増える
  • 関係のない機能を分離し、グローバル名前空間を汚染する必要がないため、コードの複雑さを軽減するのに実際に役立ちます
于 2017-01-10T08:01:01.820 に答える