Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

Viteプロジェクトを作成する

パフォーマンスが成功か失敗かを決定します。Vite は確かに高速です。
cmd コマンドライン (デフォルトで node と npm がすでにインストールされています) で、npm init @vitejs/app vue-study – --template vue; を実行します。
vue-study に cd し、npm install (依存関係をインストール)、npm run dev (プロジェクトを開始) を実行します。

コンポーネントの作成

pages という新しいディレクトリを作成し、pages の下に、contents という新しいディレクトリを作成します。contents の下に、特定のコンポーネント ディレクトリ page を作成できます。この時点で、ディレクトリ構造は次のようになります。

アプリ.vue

<テンプレート>
 <p @click="onChangeContents('./pages/contents/gp/gp.vue')">郭 ペイ</p>
 <p @click="onChangeContents('./pages/contents/systemManges/xtcs.vue')">システムパラメータ</p>
 <p>{{currentTabComponent}}</p>
 <!-- <サスペンス> -->
 <コンポーネント:is="DefineAsyncComponent({
     //ファクトリー関数ローダー: Modeuls[currentTabComponent],
     // // デフォルト値: 無限大 (つまりタイムアウトなし、単位: ミリ秒)
     タイムアウト: 3000、
    })"></コンポーネント>
 <!-- </サスペンス> -->
</テンプレート>
<script lang="ts">
 輸入 {
  定義コンポーネント、
  非同期コンポーネントの定義、
  反応的、
  参照
 } から 'vue'
 エクスポートデフォルトdefineComponent({
  名前: 'アプリ'、
  設定() {
   //vite は指定されたパスのすべてのモジュールをロードします const Modeuls = import.meta.glob('./pages/contents/*/*');
   const onChangeContents = function(URL) {
    currentTabComponent.value = URL;
    コンソールログ(現在のタブコンポーネント)
   }
   currentTabComponent を ref('./pages/contents/systemManges/xtcs.vue') とします。
   非同期コンポーネントを定義します。
   戻る {
    非同期コンポーネントの定義、
    現在のタブコンポーネント、
    コンテンツの変更時、
    モデル
   }
  },
 })
</スクリプト>

これで、vue3.0+vite2 で動的非同期コンポーネント遅延読み込みを実装する方法についての説明は終わりです。vue3.0+vite2 の動的非同期遅延読み込みに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Viteはプロジェクトを構築し、マイクロフロントエンドをサポートします
  • この記事では、Viteがブラウザのリクエストに対して何を行うかを説明します。
  • Vite+ElectronでVUE3デスクトップアプリケーションを素早く構築
  • 古い Vue プロジェクトに Vite サポートを追加する方法
  • Vite2.0の落とし穴
  • プロジェクトを素早く構築するためのvite+vue3.0+ts+element-plusの実装
  • vite+vue3+element-plus プロジェクトをビルドする手順
  • Viteの原理を学ぶ

<<:  nginxアクセス制御の実装例

>>:  MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

推薦する

mysql の not equal to null と equal to null の書き方の詳細説明

1. テーブル構造 2. 表データ 3. クエリのteacher_nameフィールドは空にすることは...

メタ宣言注釈の手順

メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...

JS ES の新機能、変数分離割り当て

目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...

MySQL はどのようにしてデータの整合性を確保するのでしょうか?

オンライン ビジネスにとってデータの一貫性と整合性が重要であることは明らかです。データが失われないよ...

GZIP 圧縮 Tomcat と Web パフォーマンスの改善プロセス図

1. はじめに最近、あるプロジェクトに取り組んでいたのですが、サーバーからクライアントに返される J...

無効と読み取り専用の機能と違い

1: readonly は、このコントロールをロックして、インターフェイス上で変更できないようにしま...

Docker 可視化グラフィックツール portainer の詳細な説明

目次1. ポーテナーの紹介2. Portainer アーキテクチャの概要3. Portainerのイ...

プロジェクトにおけるVue3のロジック抽出とフィールド表示についての簡単な説明

目次論理階層化異なる地域から事業を分離するこれを実行する利点このようなシナリオにどう対処するか最適化...

ウェブサイトのフッター沈下現象に対する3つの解決策を詳しく解説

背景多くのウェブサイトのデザインは、一般的にコンテンツ+フッターの2つの部分で構成されています。コン...

TOM.COMのホームページリニューアルの経験

<br />何の警告もなく、cnBeta で TOM.COM の Web サイトが再設計...

mysql5.7のインストールとNavicateの長期無料利用の実施手順

(I) mysql5.7のインストール: ❀詳細:無料のグリーンバージョン5.7のインストール方法は...

Vue ダイナミック バインディング アイコンの完全な手順

0 アイコンと画像の違いアイコンは文字であり、画像はバイナリ ストリームです。つまり、画像はアイコン...

MySQL の結合フィールドの Concat()

目次1. はじめに2. 本文2.1 フィールドの連結2.2 フィールドでの算術計算の実行1. はじめ...

Vue ルーティング this.route.push ジャンプ ページが更新されない場合の解決策

Vue ルーティング this.route.push ジャンプ ページが更新されない1. 背景概要:...

Youku 動画から 30 秒の広告コードを削除する 2 つの方法

誰もがこんな気持ちになったことがあると思います。30 秒の広告が入った動画を見ると、とても不快に感じ...