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 アニメーションを作成します。

推薦する

入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...

Tomcat は親の委任メカニズムを破壊して Web アプリケーションの分離を実現します。

目次Tomcat クラスローダー階層WebAppクラスローダー共有クラスローダーカタリナクラスローダ...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

WeChatアプレット実装アンカー位置決め機能の例

序文小規模なプログラムの開発では、リストをスクロールして表示する必要性に遭遇することがよくあります。...

ChromeとIEに対応したWMPに埋め込まれたHTMLの詳細な紹介

実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...

docker によってプルされたイメージがどこに保存されるかの詳細な説明

docker によってプルされたコマンドは、デフォルトでは /var/lib/docker/ フォル...

Mybatis+mysqlはストアドプロシージャを使用してシリアル番号実装コードを生成します。

同時操作によるデータの重複を避けるために、データベースを操作するときにストアドプロシージャを使用して...

MySQL の計画タスクとイベント スケジュール例の分析

この記事では、例を使用して、MySQL の計画されたタスクとイベントのスケジュールについて説明します...

MySQLのどのフィールドがインデックスに適しているかについての簡単な説明

目次1 データベース インデックスを作成するための一般的なルールは次のとおりです。 2. 数千万件の...

MySQL 5.7.17 zip パッケージ バージョンを Windows 10 にインストールするチュートリアル

mysql5.7.17のインストールチュートリアルを参考までに共有します。具体的な内容は次のとおりで...

Nginxドメイン名転送の実装

Nginx の紹介Nginx (「エンジン x」) は、ロシアのプログラマー Igor Sysoev...

Tomcat での jar のロードに関する異常な問題の分析と解決

現象の説明:プロジェクトでは、Springboot を使用して Web プロジェクトを開始します。起...

MySQL ルート パスワードをリセットするときに発生する「不明な列 'password'」問題を解決する方法

夜にMACの電源を入れたところ、突然ルートアカウントがMySQLに正常にログインできなくなったため、...

Tomcatを使用して共有ライブラリを設定し、同じjarを共有する

デプロイされるプロジェクトが増えるにつれて、Tomcat にデプロイされるリリース パッケージも増え...

Vue v-model 関連の知識のまとめ

​v-model は、入力とフォーム データ間、または 2 つのコンポーネント間の双方向データ バイ...