Vue 3.x プロジェクトの作成 npm init @vitejs/app my-vue-app --template ルーター 4.x の紹介 npm インストール vue-router@4 --save ルートの設定ディレクトリにルーターフォルダを追加し、index.jsを作成します。 Router 4.x では、ルートを作成するために、Router 3.x の new VueRouter の代わりに createRouter が提供されます。 // ルーター 4.x 「vue-router」から createRouter、createWebHashHistory、RouteRecordRaw をインポートします。 const ルート: Array<RouteRecordRaw> = [ { パス: "/"、 名前: "ホーム", コンポーネント: () => import("../views/Home/index.vue"), }, { パス: "/login", 名前: "ログイン", コンポーネント: () => import("../views/Login/index.vue"), }, ]; const ルーター = createRouter({ 履歴: createWebHashHistory(), ルート }); デフォルトルーターをエクスポートします。 Router 4.x では、ハッシュ モードと履歴モードを設定するための createWebHashHistory メソッドと createWebHistory メソッドが提供されます。 const ルーター = createRouter({ history: createWebHashHistory(), // ハッシュ モード history: createWebHistory(), // 履歴モード }); 相対パスの設定以前の VueCli では、WebPack パッケージング ツールのメリットを活用し、特定のシンボルを直接使用して現在のパスを表すことができました。同様に、Vite は、resolve.alias プロパティも提供します。 // vite.config.ts 'vite' から {defineConfig} をインポートします '@vitejs/plugin-vue' から vue をインポートします const { 解決 } = require('path') // https://vitejs.dev/config/ デフォルトのdefineConfigをエクスポートする({ プラグイン: [vue()], // 相対パスを定義します。@ は、resolve: { に置き換えられます。 エイリアス: { '@': 解決(__dirname, 'src') } } }) VuexをインポートするVuex を導入したら、ディレクトリ内に src/store/index.ts という新しいファイルを作成します。 npm i vuex@next --save ヴァントの紹介ダウンロード npm インストール vant@next --save vite バージョンでは、Vant 3.0 内のすべてのモジュールが ESM に基づいて記述されており、当然オンデマンドで導入できる機能があるため、コンポーネントのオンデマンド ロードを構成する必要はありませんが、すべてのスタイルを導入する必要があります。 //メイン.ts 「vue」から createApp をインポートします。 「./App.vue」からアプリをインポートします。 「./router」からルーターをインポートします。 「./store」からストアをインポートします。 「Vant」からVantをインポートします。 import "vant/lib/index.css"; // グローバルインポートスタイル createApp(App).use(router).use(store).use(Vant).mount("#app"); Vue 3.x では setup 関数が追加されましたが、setup 内の this は undefined を参照するため、Vant の一部のグローバル メソッドは使用できません。 <テンプレート> <div> <van-nav-bar title="タイトル" left-text="戻る" right-text="ボタン" 左矢印固定 @click-left="onClickLeft" @click-right="onClickRight" /> <van-nav-bar title="タイトル" left-text="戻る" right-text="ボタン" 左矢印 @click-left="onClickLeft" @click-right="onClickRight" /> </div> </テンプレート> <script lang="ts"> 「vue」からdefineComponentをインポートします。 エクスポートデフォルトdefineComponent({ 設定() { const onClickLeft = () => Toast("Return"); const onClickRight = () => Toast("ボタン"); 戻る { 左クリック時、 右クリック時、 }; }, }); </スクリプト> 上記の例では、Toast は定義されていません。これは、Vant をグローバルに適用した後、ローカルで参照できないためです。そうしないと、Vite はエラーを報告します。 この問題は、Toast を再度カプセル化するツール クラスを作成することで解決できます。 // ユーティリティ/util.ts // シンプルなポップアップウィンドウ import { Toast } from "Vant"; エクスポート const toast = (テキスト: 文字列) => { トースト(テキスト); }; 「vue」からdefineComponentをインポートします。 "@/utils/util" から { toast } をインポートします。 エクスポートデフォルトdefineComponent({ 設定() { const onClickLeft = () => toast("Return"); const onClickRight = () => toast("ボタン"); 戻る { 左クリック時、 右クリック時、 }; } }); これで、Vite2.x に基づく Vue 3.x プロジェクトの構築と実装に関するこの記事は終了です。より関連性の高い Vite 構築 Vue3 プロジェクト コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Windows での自動展開に Jenkins を使用するチュートリアル図
>>: MySQL 5.7.21 winx64 無料インストールバージョン設定方法グラフィックチュートリアル
WeChat ミニプログラム - QR コード ジェネレーターダウンロード: weapp-qrcod...
問題の説明:最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必...
この記事では、参考として MySQL 5.7.23 のインストール チュートリアルを記録します。 1...
1. psshを確認してインストールします。yum list pssh 2. キーレスログインが設定...
目次1. 型2. インスタンス3. 違い1. 型typeof 演算子は、評価されていないオペランドの...
原因外部ファイルをミニプログラムにインポートする方法は次のとおりです: @import "...
1. LinuxのMySQLで中国語の文字化けが発生する。以下の操作を実行する。 vi /etc/m...
目次1. 背景2. 操作手順3. Dockerをインストールする4. 主なサービス構成5. サービス...
1. まずパゴダを設置するインストール要件: Python バージョン: 2.6/2.7 (Pago...
1. サーブレットとは何か1.1. 正式な言葉で説明する:サーブレットは、動的な Web リソースを...
導入GitLab CE または Community Edition は、主に Git リポジトリのホ...
信頼性が高く、人気があり、簡単に構成できる Web サーバーである Apache で独自の Web ...
カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...
インデックスとは何ですか?なぜインデックスを作成するのですか?インデックスは、列に特定の値を持つ行を...
MySQL DDL ステートメントDDL、DMLとは何ですか。 DDL はデータ定義言語であり、CR...