2016-12-27 4 views
2

私はAngular2についての本を読んでいましたが、私はAngular2と一緒にSPAを作成できるというパラグラフを見つけました。私が理解しているように、シングルページアプリケーションは、主にクライアント側で実行されるようなWebサイトであり、必要なときにはサーバーへの非同期呼び出しを行うだけです。Angular2で書かれたシングルページアプリケーションはゆっくりと読み込まれますか?

問題はAngular2のルーティングに関する章を読みました。私は多くのルートを取得したときにブラウザがすべてのコンポーネントと静的資産をすべての異なるルートにロードする必要があるという考えを思いつきましたルートパスに移動するので、実際にページの読み込みを遅くする必要がありますか?

私の推測が間違っている場合は、私に説明してください。

+0

最初のページの読み込みは遅くなります(bcはSPAのように動作するようにするコードを読み込む必要があります)が、2番目または3番目の/ etcページの読み込みは速くなければなりません存在する場合)情報をサーバーから取得します。サーバー側のレンダリングを使用して、最初のページの読み込みを少し速くすることができます。 – therobinkim

+0

@therobinkim何回後に読み込みが速くなるのでしょうか? Angular2はロードされたコードを強制的にキャッシュに残しますか? – FieryCod

+0

いいえ、私が言ったことはありません:SPAでは、 'index.html'を読み込むのに複数ページのアプリケーションより時間がかかりますが、' index.html'から 'about.html'に行くのは時間がかかりません。新しいコードをサーバーから取り出す必要があります。ブラウザの一部だけを再レンダリングする必要があります。私は 'index.html'を何度もリフレッシュすることを言及していませんでした。 – therobinkim

答えて

3

アプリケーションを初めて読み込むときには、実際にすべてのアプリケーションをクライアント(コンポーネント、サービスファイル、ルータなど)にロードするので、時間がかかることになります。 )。

すべてが既にロードされているため、すべてのデータがロードされると、効率的かつ高速になります。データを取得してクライアントに表示するサーバーコールを行わず、Angular2は動的にロードおよびアンロードしますあなたのアプリケーションに基づいたテンプレート(ルータとすべての助けを借りて)。

時間がかかることがあるのは、サーバーへの呼び出しが必要なときだけです.Httpコールなどです。正しく実行されないと、データがアプリに表示される方法が遅くなる可能性があります。

全体的に、ユーザーエクスペリエンスの場合、すべてが即座に読み込まれ、アプリケーションをナビゲートするのがはるかにスムーズになるので、これは良い方法です。

+0

SPAは、必要な資産とリソースをすべて使用する前にロードすることを完全に理解しています。これには多くのメリットと利点がありますが、ログインページ上にいるだけで、まだログインしていない場合は、すべてのリソースをロードする必要がありますか? どういう意味で、ログインページにすべてのリソースが読み込まれないようにして、アプリケーションが必要なすべてのリソースを読み込んだときに認証されたらどうしたらいいですか? – doyevaristo

+0

モジュールは必要に応じてロードされるように遅延ロードできます。これは、遅延ロードされたリソースを待たなければならないので、いくらかの遅延を追加します。 –

関連する問題