Vue ルーティング遅延読み込みの詳細

Vue ルーティング遅延読み込みの詳細

1. ルートの遅延読み込みとは何ですか?

公式説明:

  • アプリをバンドルすると、 JavaScriptバンドルが非常に大きくなり、ページの読み込みに影響する可能性があります。
  • 異なるルートに対応するコンポーネントを異なるコード ブロックに分割し、ルートにアクセスしたときに対応するコンポーネントをロードできれば、より効率的になります。

当局者が言いたかったのは

  • まず、ルートには通常多くの異なるページが定義されていることがわかっています
  • このページは最終的にどこにパッケージ化されるのでしょうか?通常はjsファイルに配置されます
  • しかし、ページ数が多い場合、すべてのファイルを 1 つの js ファイルに入れると、必然的にページが非常に大きくなります。
  • このページをサーバーに一度に要求すると、時間がかかる可能性があり、ユーザーのコンピューターに一時的な空白が表示される場合もあります。
  • これを回避するにはどうすればよいでしょうか?ルートの遅延読み込みを使用する

ルートの遅延読み込みは何をしますか?

ルートの遅延読み込みの主な機能は、ルートに対応するコンポーネントを js コード ブロックにパッケージ化し、ルートにアクセスしたときにのみ対応するコンポーネントを読み込むことです。

2. ルートの遅延読み込みの使用

使用する前に、元のコードがルートをどのようにロードするかを見てみましょう。

「vue」からVueをインポートします。
「vue-router」から VueRouter をインポートします。
「@/views/Home」から Home をインポートします。
「@/views/About」からAboutをインポートします。
「@/views/User」からUserをインポートします。

Vue.use(VueRouter);

定数ルート = [
  {
    パス: "/"、
    名前: "ホーム",
    コンポーネント: ホーム、
  },
  {
    パス: "/about",
    名前: "概要",
    コンポーネント: について
  },
  {
    パス: "/user/:userId",
    名前: "ユーザー",
    コンポーネント: ユーザー
  }
];

ルートに対応するコンポーネントを最初からインポートしていることがわかります。インポートする必要があるコンポーネントが多いと、ページの読み込みが比較的遅くなります。このようにパッケージ化されたファイルを見てみましょう。

このようにパッケージ化されている js ファイルは 2 つだけであることがわかります。後でページを読み込むときに、ページが表示される前に 2 つのファイルすべてを読み込む必要があります。コードの量が多すぎると、ページの応答が遅くなり、ユーザー エクスペリエンスが非常に悪くなります。

次にルートの遅延読み込みを使用します

「vue」からVueをインポートします。
「vue-router」から VueRouter をインポートします。

Vue.use(VueRouter);

// 新しいルートの遅延読み込みコードを追加します const Home = () => import('../views/Home')
const About = () => import('../views/About')
const User = () => import('../views/User')

定数ルート = [
  {
    パス: "/"、
    名前: "ホーム",
    コンポーネント: ホーム、
  },
  {
    パス: "/about",
    名前: "概要",
    コンポーネント: について
  },
  {
    パス: "/user/:userId",
    名前: "ユーザー",
    コンポーネント: ユーザー
  }
];

ルーティング構成では何も変更する必要がないことがわかります。通常どおり使用してください。その前に変数を宣言し、変数内の矢印関数を使用して対応するコンポーネントをインポートするだけです。使い方は非常に簡単です。

ルートの遅延読み込みを使用してパッケージ化されたファイル構造は次のとおりです。

元の方法よりも js ファイルが 3 つ多いことがわかります。これは、上記のコード内の 3 つのコンポーネントがルート遅延読み込みを使用しているためです。これらの 3 つの js ファイルはルートがアクセスされたときにのみ読み込まれるため、読み込み時間を大幅に節約できます。

したがって、ルートを読み込むには遅延読み込みを使用することをお勧めします。

これで、vue ルーティング遅延読み込みの詳細に関するこの記事は終了です。vue ルーティング遅延読み込みに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue-router ルーティングの遅延読み込みとそれを実装する 3 つの方法
  • Vue でルートの遅延読み込みを実装する 3 つの方法の例
  • Vue ルーティング遅延読み込みで Webpack チャンクに名前を付ける方法
  • Vue でルートとコンポーネントの遅延読み込みを実装する方法
  • vue-router ルーティングの遅延読み込みの実装 (vue プロジェクトの最初の読み込みが遅い問題を解決)
  • Vue でのルートの遅延読み込みにインポートを使用する原理の分析

<<:  シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

>>:  CSS3 は、跳ねるボール効果を実現する Web アニメーションを作成します。

推薦する

2級コンピュータ試験のMySQL知識ポイント mysql alterコマンド

テーブル構造を編集するための MySQL の alter コマンドの使用。具体的な内容は以下のとおり...

CocosCreator クラシック エントリー プロジェクト flappybird

目次開発環境ゲームエンジンのコンセプトCocos Creatorについてプロジェクト構造コード編集環...

MySQL データベース分離レベルと MVCC の詳細な説明

目次1. 分離レベルコミットされていない読み取りREAD COMMITED (コミット読み取り/非反...

Docker イメージの最適化 (1.16GB から 22.4MB)

目次最適化の第一歩: 軽量ベースイメージの使用第2段階の最適化:多段階構築Docker は、ソフトウ...

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

HTMLはテキスト行のインターセプトの実装原理とコードを超えています

複数行を超えるテキストをインターセプトするための HTML コードは次のとおりです。 HTML:コー...

MySQL ステートメントに一重引用符またはバックスラッシュを含む値を挿入する方法

序文この記事では主に、シングルクォートやバックスラッシュを含む値を挿入するMySQLステートメントに...

CSS マージンの折りたたみの詳細な説明

前のこれは古くからある古典的な質問です。以前読者から質問があったので、ここでお答えします。簡単な例か...

MySQL 5.7.17 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

mysql5.7.17無料インストールバージョンのインストールに関する最近の経験1.ダウンロードして...

MySQL データ型の選択原則

目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...

Ubuntu ターミナル マルチウィンドウ 分割画面 ターミネーター

1. インストールターミネーターの最大の特徴は、1つのウィンドウで複数のターミナルを開くことができる...

HTML タグ sup と sub の応用の紹介

HTML タグ: 上付き文字HTML では、<sup> タグは上付き文字のテキストを定義...

Docker の win ping 失敗コンテナ回避ガイド

win docker-desktopを使ってコンテナ開発に接続し、ネットワーク上で色々試してみたいと...

あなたをエキスパートに見せるための 13 個の JavaScript ワンライナー

目次1. ランダムなブール値( true / false )を取得する2. 指定された日付が営業日で...

テキストまたはJSONを返すようにnginxを設定する方法

特定のインターフェースをリクエストするときに、指定されたテキスト文字列または JSON 文字列を返す...