Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮

  1. httpリクエストの数を減らす
  2. 要求されたリソースのサイズを縮小する

Google ホームページのケーススタディ

  1. HTML 圧縮
  2. CSS 圧縮
  3. jsの圧縮
  4. ファイルの結合
  5. gzipを有効にする

1. HTML圧縮

図 1 は圧縮されていない Sina のホームページを示しており、図 2 は圧縮された Google のホームページを示しています。

HTMLコード圧縮とは、スペース、タブ、改行など、テキストファイルでは意味を持つがHTMLでは表示されない文字や、次のような他の意味を持つ文字を圧縮することです。
HTML コメントも圧縮できます。

HTMLを圧縮する方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. nodejsはhtml-minifierツールを提供します
  3. バックエンドテンプレートエンジンのレンダリング圧縮

2. HTML圧縮

  1. デッドコードの削除
  2. CSSセマンティックマージ

HTMLを圧縮する方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. HTML 内の CSS を圧縮するには html-minifier を使用します
  3. clean-cssを使用してCSSを圧縮する

3. Js の圧縮と混乱

  1. 無効な文字の削除
  2. コメントを削除
  3. コードの意味の削減と最適化
  4. コード保護

jsを圧縮して混乱させる方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. html-minifier を使用して html 内の js を圧縮する
  3. uglifyjs2を使用してjsを圧縮する

3. ファイルの結合

ファイルのマージと非マージの比較

  1. ファイル間にアップストリーム要求が挿入されるため、ネットワーク遅延が N-1 倍に増加します。
  2. パケットロスの影響がより深刻
  3. プロキシサーバーによって切断されている可能性があります

ファイルの結合に関する問題:

  1. 最初の画面レンダリングの問題
  2. キャッシュ無効化の問題

ファイルの結合の問題を解決します。

  1. 公共図書館の統合
  2. 異なるページを結合する
  3. 状況に応じて行動し、変化する状況に適応する

jsを圧縮して混乱させる方法

  1. 圧縮にはオンラインウェブサイトを使用する
  2. マージを実装するにはNode.jsを使用する

画像関連の最適化
png8/png24/png32の違い

  1. png8 - 256色 + 透明度のサポート
  2. png24 - 2^24 色 + 透明度はサポートされていません
  3. png32 - 2^24 色 + 透明度のサポート
各画像形式には独自の特性があり、ビジネスシナリオに応じて異なる画像形式を選択することが重要です。

さまざまな形式の画像に関する一般的なビジネスシナリオ

  1. jpg - 透明な画像を必要としないほとんどのビジネスシナリオ
  2. pngは透過性をサポートし、ブラウザと互換性があります
  3. Webp圧縮はより優れており、iOS Webviewと互換性があります
  4. svg ベクター グラフィックス、埋め込みコード、比較的少ない、比較的シンプルな画像スタイル

さまざまな形式の画像に関する一般的なビジネスシナリオ

  1. jpg - 透明な画像を必要としないほとんどのビジネスシナリオ
  2. png - 透明な画像を必要とするほとんどのビジネスシナリオ
  3. webp —— Android すべて
  4. SVGベクターグラフィックス - 比較的シンプルな画像スタイルを使用したビジネスシナリオ

画像を圧縮する

実際の写真では、比較的重要でない色情報を破棄します

CSS スプライト

ウェブサイトで使用されている複数の画像を1つの画像に結合します

アドバンテージ

ウェブサイトのHTTPリクエスト数を減らす

欠点

統合画像が大きい場合、一度に読み込むのに時間がかかります

画像のインライン

画像コンテンツをHTMLに埋め込むことで、ウェブサイトへのHTTPリクエスト数を減らすことができます。

Androidでwebpを使用する

WebP の利点は、より優れた画像データ圧縮アルゴリズムにあります。これにより、画像サイズが小さくなり、肉眼では区別がつかないほどの画質が得られます。また、ロスレスとロッシーの圧縮モード、アルファ透明度、アニメーション機能も備えており、JPEG と PNG への変換効果は優れており、安定しており、統一されています。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  HTML の 2 つのタブ ナビゲーション間の競合の解決方法

>>:  Docker ケース分析: MySQL データベース サービスの構築

推薦する

カルーセル例の JS 実装

この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...

HTML でよく使われるタグの概要 (必読)

コンテンツ詳細タグ: <h1>~<h6>タイトルタグ<pre>テ...

Linux centos7 に phpMyAdmin をインストールするチュートリアル

yum install httpd php mariadb-server –yランプの動作環境を設定...

docker で PostgreSQL データベースをインストールして永続化する方法

Dockerのインストール手順をスキップする1. postgresqlイメージを取得する docke...

Dockerコンテナでユーザーを分離する方法

前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...

MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

この記事では、mysql5.7.23 の詳細なインストールプロセスを記録し、皆さんと共有します。 1...

Angular のパフォーマンス最適化: サードパーティ コンポーネントと遅延読み込みテクノロジー

目次概要環境の準備プロジェクトのパフォーマンスに影響を与える要因遅延読み込みとは何ですか?プロジェク...

フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...

JavaScript は 9 グリッドのクリックによる色の変更効果を実装します

この記事では、9グリッドクリックの色変更効果を実現するためのJavaScriptの具体的なコードを参...

Google Recaptcha 認証を使用した Vue 実装例

最近のプロジェクトでは、Google ロボット認証を使用する必要があります。これには VPN が必要...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

CSSリンクと@importの違いの詳細な説明

HTML に CSS を追加するにはどうすればいいですか? HTML で CSS を設定する方法は ...

Vscode が Ubuntu にリモート接続する際のエラー問題の解決方法

1. 事件の背景:仕事上、Ubuntu への vscode リモート接続を使用する必要があります。 ...

MySQL 外部キー制約 (FOREIGN KEY) ケースの説明

MySQL 外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、主キー制約...

Vue が Web オンラインチャット機能を実現

この記事では、Webオンラインチャットを実装するためのVueの具体的なコードを参考までに紹介します。...