1

requireJSとを使用してアプリケーションに取り組んでいますjquery/jquery-mobile。現在、読み込みとレンダリングのパフォーマンスを最適化しようとしています。

私のアプリケーションは、すべてのページに存在するHTMLスニペット(ログインフォームなど)に分割できるとしましょう。私の考えは、新しいページがリクエストされるたびにスニペットをロードしないことです。代わりに、HTMLスニペットのテンプレートバージョン(拡張マークアップ)を作成し、requireJS !textプラグインを介してこれをプルします。

これは非常にうまく機能するため、すべてのスニペットが1回必要になり、キャッシュからサーバーに保存されます。すでにレンダリングされているため、1ページ目以降はすべてスムーズに進みます。

基本的にatomize、ページをスニペットに変換できます。

page { content { form { input & button }}}

スニペットをオンデマンドでのみプルします。これにより、サーバーからロードするものとレンダリング時間が最小限に抑えられますが、最終的には。になりton of http-requestsます。

質問:
かなり一般的ですが...このようなアプリケーションを構築するときにhttpリクエストの数を減らす方法はありますか?そのためにWebSocketを使用できると思いますが、よくわかりません。これを行うための良い方法があるかどうか知りたいです。

ありがとう!

4

2 に答える 2

2

だから私はこれをまっすぐにしましょう:-あなたはページの読み込み時間を速くしようとしますそれであなたはHTMLファイルの内容をスニペットに分割します。フォームなどの一部のスニペットは
header/footer/loginすべてのページで共通であり、この方法では、それらを1回だけロードし、キャッシュからレンダリングし続けます。
ただし、最初にページを読み込むときは、これらのスニペットはすべて個別にダウンロードされるため、多くのリクエストがあります。
私がそれをすべて正しく得たなら、これが私が提案することです。

最初のページの読み込み時に、サーバーから直接レンダリングされたページ全体を実際に読み込むことをお勧めします。読み込み後にjavascriptを使用してスニペットを追加すると時間がかかる場合があります。
次に、ページの読み込み時に、要素セレクターを使用して、レンダリングされたすべてのスニペットの値をキャッシュに保存できます。また、残りのスニペットもダウンロードします。このように、ページがロードされるときに1つ(または非常に少数)の要求があります。また、ページがすでに読み込まれている場合、すべての追加リクエストはバックグラウンドで実行されます。

于 2012-10-17T08:34:21.210 に答える
1

RequireJS Optimizerを使用して、Javascriptファイルを縮小して1つのファイルに結合することができます。

于 2012-10-17T08:33:59.453 に答える