2つのフロントエンドのパフォーマンスの最適化

サイズやリソースの数の減少のためにまず、要求 

1、そして可能な限り圧縮し、CSSやJSファイルなど。(1へのCSSファイルとJSが1にマージされます)
  理由:HTTP、主にリクエストの数を減らすために、要求されたリソースのサイズ減らすため
  のパッケージングツール:
  WebPACKの
  GULP
  うなり声を
。....
2、フォントのアイコンを使用しようとか、 SVGのアイコンは、伝統的なPNGチャートを置き換えるために
  、フォントのアイコンやSVGはベクトルであるので、コードを書き、Fangdaは変形し、高速なレンダリング速度されることはありません

図3は、画像遅延ロード(遅延ロード)を使用して、
  ローディング中のHTTPリクエストの最初のページの数減少させる目的を、
  具体的な手順:
    ページは、図プレースホルダを配置することによって、ロードを開始するときに1を、HTTPリクエストを送信しない
    2ページのロードが終了し、可視画像領域が再びロードイメージを要求したとき

4、効果はサードパーティ製のプラグインを使用することは容易ではない、んん、CSS、JSを使用していない、ネイティブのJSを使用することができます。
  サードパーティのライブラリの多数の導入を回避します。内側のみの小さな機能を使用していますが

5は、マップやスプライト画像のスプライトを使用すると言うことである
  だけにして使用し、大きな画像をダウンロードする必要があり、大規模なマップ上に描かれたすべての比較的小さなリソース画像を、
  画像がページ上のポジショニングの面で小さな地図を表示(バックグラウンドポジション:パーセント値)

6は、クッキーの使用を減らし、クライアントがあるため、(最も重要なのは、ローカルCookieストアのコンテンツのサイズを小さくすることである)、その情報は常にクライアントとサーバーに配信されたときにクッキーを操作します。適切に設定されている場合は、それぞれの時間は、送信します

リクエストがクッキーを運ぶでしょう

図7は、前部と後部は、送信JSON形式の数などのデータに基づいて、データ交換のために終了します。使用XMLに関しては
  輸送のため、この利点を持っている
  データの処理を容易にすることである、小さなリソース:目的を

8、フロントエンドとバックエンドの交渉、キープアライブの使用の合理化

図9に示すように、フロントエンドサーバは、圧縮応答リソースの使用をネゴシエート

インラインフレームを使用して10避けが
  悪い管理とコントロールスタイルだけではありません、このページや他のページにネスティングに相当し、消費はさらに大きくパフォーマンスになります。リソースはまた、ネストされたページをロードするために戻っているので

要求はAJAXベースのデータ交換を取得するときに11は、要求に応じてキャッシュを生成するように構成することができます(注:
キャッシュではありません、我々は多くの場合、ステータスコード304、データをフェッチするためにローカルのブラウザで見て)ように、同じから次のアドレスデータの取得は
、取得したデータは、時間にキャッシュされます。(注意:ほとんど使用されない、通常行うには、必要に応じて空に。)

第二に、コードの最適化関連

JSで1、クロージャの使用を最小限に抑える
  の理由:クロージャの使用、閉鎖のコンテキストが解放されることはありません

2、DOM操作を減らし、主にDOMを還流(再配置)再描画減らすために
  (還流)については、別の読み取り再配置されています:スタイルの複数の、スタイルがない一つ一つ、一緒にセットにのみ提供されている場合設定。データバインディング(DOMを動的に作成)を行うには、文書の断片または文字列連結を使用します

3、ネストされたループとでJSの「無限ループ」を避ける(無限ループが発生した場合に、ブラウザはカードをダイレクトアウトします)

ボディCSSに置く4、下記の身体上のJS
  、CSSをロードすることができ(注:これは、最適化にはあまり重要ではないん)

5、使用CSSの表現を減らします

図6において、図1の右から左へと解決ルールを解析CSSセレクタ。選択オブジェクトとしてタブ要素を減らした後、

7、層への個別のアニメーションの要素を設定してみてください(または還流サイズ再描画を避ける)
  注:レイヤーあまりにも多くない設定、そうでない場合は効果がないだけでなく、さらに悪いことには達しありませんでした

図8は、可能な限り低い結合高分子としてパッケージングプロセスを、JS。冗長コードページを削減

ボックスは同じではないように平面9は、位置決めCSS後、z屈折率は、好ましくは、ボックスの階層を変更するために使用され

10、CSSを導入@import式の導入を最小限に抑える場合、@import同期動作として、導入に対応するパターンのみが、Jiaziアンダウン続け、動作は非同期リンクであります

11、代わりに伝統的なアニメーションタイマーのwindow.requestAnimationFrame(JSフレームアニメーション)を使用して
  アニメーションを実行する時から使用したい場合は、あなたが利用するようにするsetInterval、setTimeoutメソッドを使用しないでください
  代わりのsetIntervalタイマーの。欠点のsetIntervalタイマーがあるので:2つのアニメーション間隔を起こすおそれ
  短縮

12、再帰の使用を最小限に抑えます。再帰的に死んで避け
  解決:私たちは、末尾再帰を使用することをお勧めします

13は、スクリプトタグのダウンロードJSファイルベース、延期または非同期非同期をロードするために使用することができます

14は、イベントが結合して、可能な限りのイベントの委任を使用するには、サイクルDOM要素はイベントハンドラにバインドされ減らします。

図15は、可能な限り低い結合高分子としてパッケージングプロセスを、JS。冗長コードページを削減

16、フラッシュの使用を減らすために

第三に、ストレージ

1は、バックエンドと組み合わせて、(ローカルにデータを引き出すために、ブラウザを言って、バックエンド304によって返さましょう)いくつかのキャッシングを行うには、ブラウザのキャッシュ技術を使用しています。(注:欠点があるが)キャッシュとして変更することが、いくつかの静的リソースが少ないことができます。たとえば、次のようにいくつかの写真、JS、CS

2、いくつかの単純なデータストレージを行うには、新機能のH5(のlocalStorage、のsessionStorage)を使用して
  バックグラウンドに要求されたデータを避けるためか、いくつかのデータを行うには、オフラインで表示されます。

第四に、他の最適化

インラインフレームを使用して避けることは悪い管理とコントロールスタイルだけではありません、このページや他のページにネスティングと同等である1、消費はさらに大きくパフォーマンスになります。リソースはまた、ネストされたページをロードするために戻っているので

2は、ページには、非同期プログラミングやデータ収集の使用は、主に応答しないブラウザを避けるために、データの非同期読み込みを使用し、バッチ・ロードを遅らせています。あなたがデータをロードするために、同期、大規模かつ非常に遅いを使用する場合は
  、その後、ページがいくつかの時間のためにブロックされています。目的:ページの改善、要求されたデータが遅延されないレンダリングに対処するために
  、レンダリング効率を。解決策:最初の領域を隠されたデータの動的バインディングを必要とし、そのデータを返され、後に表示されるように、それをバインドする
  遅延ロードをロード遅延似た絵バッチ。最初のページの読み込み時間は、httpリクエストの数を減らします

図3は、オーディオとビデオのタブページには、私たちは、ページの読み込みがこれらのリソースをロードするために聞かせていないとき、表示されます(または初めてロードすることは非常に遅くなります)
  解像度:簡単にオーディオとビデオに=何をプリロードしないために。
  目的:ページのロードを待つ、とするために、あなたは嘉Zianにオーディオとビデオオーディオとビデオ資源を再生したいとき

4、層への個別のアニメーションの要素を設定してみてください(または還流サイズ再描画を避ける)
  注:レイヤーあまりにも多くない設定、そうでない場合は効果がないだけでなく、さらに悪いことには達しありませんでした

おすすめ

転載: www.cnblogs.com/mary-123/p/11269500.html