React で遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法

React で遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法

最近、中間およびバックエンド プロジェクトを迅速に起動するための react-ant-admin 統合フレームワークを作成しています。多くの問題が発生しますが、最も重要なのはアクセス速度です。 React が Vue のようなルートの遅延読み込みを使用して、ホームページのレンダリングにかかる​​時間を短縮できるかどうか疑問に思います。

そこで、とても便利なホイールを見つけました: @loadable/component

使用

インストール

npm インストール @loadable/component -D
# または糸を使う
糸を追加 @loadable/component -D

ルーティングでどのように使用しますか?

src/router/index.js ファイルに次のように記述します。

「react」からReactをインポートします。
「react-router-dom」から Route、Switch をインポートします。
「./routes」から routerList をインポートします。

const ルーター = () => {
  戻る (
    <スイッチ>
      {ルーターリスト.map((項目) => {
        const { コンポーネント: コンポーネント、キー、パス、...itemProps } = item;
        戻る (
          <ルート
            正確={true}
            キー={キー}
            パス={パス}
            render={(allProps) => <コンポーネント {...allProps} {...itemProps} />}}
          />
        );
      })}
    </スイッチ>
  );
};

デフォルトルーターをエクスポートします。

src/router/routes.jsファイルに次のように記述します。

「@loadable/component」から loadable をインポートします。

const Error404 = loadable(() => import("@/pages/err/404")); // 対応するファイル src/pages/err/404.js
const Home = loadable(() => import("@/pages/home"));
const Demo = loadable(() => import("@/pages/demo"));

const ルーターリスト = [
  {
    パス: "/"、
    キー: "ホーム"、
    コンポーネント: ホーム、
  },
  {
    パス: "/demo",
    キー: "デモ",
    コンポーネント: デモ、
  },
  {
    パス: "*"、
    キー: "404",
    コンポーネント: Error404、
  },
];

デフォルトの routerList をエクスポートします。

src/App.jsファイルに次のように記述します。

「react」からReactをインポートします。
「react-router-dom」から { BrowserRouter を Router としてインポートします };
「./router」からルートをインポートします。
デフォルト関数App()をエクスポートする{
  戻る (
    <ルーター>
      <ルート />
    </ルーター>
  );
}

この時点で、ルートを切り替えるときに js ファイルが動的にロードされるかどうかを確認するページに移動できます。ルートを切り替えた後に js ファイルが読み込まれると、遅延読み込みルートが成功したことを意味します。

読み込み速度の比較

@loadable/componentサーバーの帯域幅は1M、gzip圧縮、ファイルサイズは約2MB、サーバーリクエストの読み込み時間は約4.3秒でした。

ルーティング遅延読み込みを使用します。サーバー帯域幅は 1M、gzip 圧縮、ファイル サイズは約 1MB、サーバー要求の読み込み時間は約 1 秒です。

上記は、React が遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法の詳細です。React の遅延読み込みが読み込み時間を短縮する方法の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Amap を使用した React 実装例 (react-amap)
  • Reactの仮想DOMとdiffアルゴリズムの詳細な説明
  • ファイルのアップロードの進行状況を示す React の例
  • WeChat公式アカウントでReactプロジェクトを実行する方法
  • ReactでCSSをエレガントに書く方法
  • 最も単純な ErrorBoundary コンポーネントをカプセル化して、React 例外を処理する
  • React Fiber構造の作成手順
  • React の 3 つの主要属性における Ref の使用に関する詳細な説明
  • Reactのようなフレームワークをゼロから作成する
  • React useEffect の理解と使用

<<:  ゲーム着物メモ問題の簡単な分析

>>:  よく使われるnginxの書き換えルールの詳細な説明

推薦する

MySQL で中国語の文字をピンインでソートする簡単な例

名前を格納するフィールドが GBK 文字セットを使用している場合、GBK 内部コード自体がエンコード...

Linux nslookup コマンドの使用方法の詳細な説明

[nslookup とは?] 】 nslookup コマンドは、Linux で非常によく使用されるネ...

Docker - コンテナマウントディレクトリを変更する3つの方法のまとめ

方法 1: 設定ファイルを変更する (docker サービスを停止する必要があります) 1. doc...

nginx と openssl で https を実装する方法

サーバーデータがSSL証明書を使用して暗号化および認証されていない場合、ユーザーのデータはプレーンテ...

Vueモバイル端末が指のスライド効果を実現

この記事の例では、Vueモバイル端末で指のスライド効果を実現するための具体的なコードを紹介します。具...

スーパーバイザーによるDockerfileのマルチサービスイメージパッケージ操作

Dockerfileの作成yumソースを設定する cd /tmp/docker vim Docker...

CentOS に Nginx をインストールする方法

公式ドキュメント: https://nginx.org/en/linux_packages.html...

Dockerコンテナ内にkibanaトークナイザーをインストールする方法

ステップ: 1. 仮想マシンディレクトリに新しいdocker-compose.ymlファイルを作成し...

Vue/React シングルページ アプリケーションをリフレッシュなしで復元するソリューション

目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...

Ubuntu での Subversion (SVN) の詳細なインストールと設定

ソフトウェア開発者であれば、Subversion に精通している必要があります。 Subversio...

nginx のロケーションと書き換えの使用法の詳細な説明

1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...

MySQLトリガートリガー例の詳細な説明

目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...

HTMLタグIDは変数にできる

<table id=" <%=var1%>">、var1...

MySQL DML ステートメントの概要

DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...

Vue3+el-tableは行と列の変換を実現します

目次行と列の変換トランスクリプトの構成を分析するvue3 + el-table で作成されたトランス...