vite を使用して vue3 アプリケーションを構築する方法

vite を使用して vue3 アプリケーションを構築する方法

1. インストール

ヒント: 現在、VUE3.0 の公式翻訳ドキュメントはありません。しかし、すでに誰かが翻訳しています。 You Yuxi さんからいいねをもらいました。URL はこちらです https://v3.cn.vuejs.org/

1. CLIをインストールする

vue3を使用するには、cliのより高いバージョン、つまり4.5.X以上が必要です。
したがって、cli がインストールされていない場合は、最新バージョンをインストールしてください。すでにインストールされている場合は、アップグレードするか、アンインストールして再インストールすることができます。グローバルにインストールするのが最適です。

//グローバルインストール npm install -g @vue/cli
# または
糸グローバル追加 @vue/cli
//グローバルアンインストール npm uninstall -g vue-cli
# または
糸グローバル削除 vue-cli
// CLI をアップグレード
npm アップデート -g @vue/cli
# または
糸グローバルアップグレード --latest @vue/cli
// ローカル CLI バージョンを確認する vue --version

2. プロジェクトを作成する

みんなVUE3を使っているので、最新のviteビルドツールを試してみましょう。
もしかしたら、それはあなたにとって新しい世界への扉を開くことになるかもしれません。

//新しいプロジェクトを作成 npm init vite-app asiterVue3
//ディレクトリに入る cd asiterVue3
//依存関係をインストール npm install
//npm run dev を実行

3. プロジェクトを表示

VUE3.0 は VUE2.0 よりもはるかにシンプルで、main.js の変更も非常に明白です。

3.0 の新機能

「vue」から createApp をインポートします。
「./App.vue」からアプリをインポートします。
「./index.css」をインポートします。

createApp(App).mount("#app");

2.0 の新機能

「vue」からVueをインポートします。
「./App」からAppをインポートします。
Vue.config で productionTip を false に設定します。

新しいVue({
 el: "#app",
 コンポーネント: { アプリ },
 テンプレート: "<App/>",
});

次に、App.vue を見てみましょう。最も明らかなのは、テンプレート ノードに複数のルート ノードがあることです。

//ここで Vetur プラグインはエラーを報告しますが、<template> の使用には影響しません。
 <img alt="Vue ロゴ" src="./assets/logo.png" />
 <HelloWorld メッセージ="こんにちは Vue 3.0 + Vite" />
</テンプレート>
<スクリプト>
'./components/HelloWorld.vue' から HelloWorld をインポートします。
エクスポートデフォルト{
 名前: 'アプリ'、
 コンポーネント:
  こんにちは世界
 }
}
</スクリプト>

4. ルーティングVue-Routerを追加する

VUE3.0 を使用しているため、VUE-ROUTER もバージョン 4.X に対応している必要があります。

npm インストール vue-router@next -S

付録:

npm install vue-routerバージョン 3.0 をダウンロードするので、それをインストールするにはnpm install vue-router@next -Sする必要があります。github のアドレスは https://github.com/vuejs/vue-router-next/releases です。
本日2020年10月14日現在のバージョンはv4.0.0-beta.13です。

インストール後、使い方が分からない場合はどうすればいいですか?公式の例を見てみましょう。まずはそれを使わずに、履歴書を申請します。

付録:
公式アドレスの例
https://codesandbox.io/s/vue-router-4-reproduction-hb9lh?file=/index.html

スペースの都合上、主要部分のみ貼り付けます

<スクリプト>
   const { createRouter、createWebHistory、createWebHashHistory } = VueRouter
   const {createApp} = Vue

   const ホーム = {
    テンプレート: `<div>home</div>`,
   }

   const Foo = { テンプレート: '<div>foo</div>' }
   const Bar = { テンプレート: '<div>bar</div>' }

   const ルーター = createRouter({
    履歴: createWebHistory(),
    ルート: [
     { パス: '/'、コンポーネント: ホーム },
     { パス: '/foo'、コンポーネント: Foo },
     { パス: '/bar'、コンポーネント: Bar },
    ]、
   })

   const アプリ = createApp({})
   app.use(ルーター)

   window.vm = app.mount('#app')
</スクリプト>

これらは公式の例であり、ルートの作成は少し異なることがわかります。
vue2.0 では、mode を使用してルーティング モードのパラメータを制御していましたが、vue3 では、createRouter を使用してルーティング インスタンスを作成します。
履歴属性はルーティングモードを制御するパラメータとして使用されます。

名前の通り
createWebHistoryメソッドは履歴モードを返します
createWebHashHistoryメソッドはハッシュパターンを返します

では、それを追加してみましょう。まず、srcディレクトリに新しいルーターフォルダを作成し、そのフォルダの下にindex.jsファイルを追加して、ファイルに次の内容を追加します。

「vue-router」から createRouter、createWebHashHistory をインポートします。

エクスポートデフォルトcreateRouter({
 履歴: createWebHashHistory(),
 ルート: [
  {
   パス: "/weclome",
   コンポーネント: () => import("../views/HelloWorld.vue"),
  },
 ]、
});

同時に、src の下に views フォルダーを作成し、HelloWorld.vue ファイルを追加して、今回が初めてなので次のコードを追加します。他のAPIは試さず、まずエフェクトを実行します

<テンプレート>
 <div>helloWord!Vue3.0.Asiter へようこそ</div>
</テンプレート>

次にApp.vueを変換します

<テンプレート>
 <ルータービュー></ルータービュー>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
 名前:「アプリ」、
 コンポーネント: {},
};
</スクリプト>

最後に、最も重要なmain.jsファイルを修正してルーターを設定します。

「vue」から createApp をインポートします。
「./App.vue」からアプリをインポートします。
「./index.css」をインポートします。
「./route」からルーターをインポートします。
アプリを作成します(アプリ)
 .use(ルーター)
 .mount("#app");

プロジェクトを開始し、アドレスバーにhttp://192.168.1.233:3000/#/weclomeと入力します。
求めていたものが見つかりました。

5. 状態管理Vuexを追加する

VUE3.0を使用しているため、Vuexも本日時点で対応するバージョンをサポートする必要があります。4.0.0-beta.4に更新されました。

付録:
githubアドレスを添付してください https://github.com/vuejs/vuex/releases

npm と vuex@next -S

次に、公式のケースをご覧ください https://github.com/vuejs/vuex/tree/v4.0.0-beta.4

「vuex」から createStore をインポートします。

エクスポートconstストア=createStore({
 州() {
  戻る {
   カウント: 1,
  };
 },
});

ルータと同様に、書き込み方法もVUE2と比べて変更されています。まず、createStoreを使用してvuexからインスタンスを作成し、次に

srcディレクトリの下に新しいストアディレクトリを作成し、index.jsファイルを追加します。次の内容を記述します。

「vuex」から createStore をインポートします。

エクスポートconstストア=createStore({
 州() {
  戻る {
   著者:「アシター」
   「フィルムを貼る少年」と表現する。
  };
 },
});
 

main.js に戻って変更します。 vuexを追加

「vue」から createApp をインポートします。
「./App.vue」からアプリをインポートします。
「./index.css」をインポートします。
「./route」からルーターをインポートします。
「./store」から store をインポートします。
アプリを作成します(アプリ)
 .use(ルーター)
 .use(ストア)
 .mount("#app");
 

ビュー内の HelloWorld.vue ファイルに戻って変更してみましょう。

<テンプレート>
 <div>helloWord!Vue3.0.Asiter へようこそ</div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
 マウント() {
  console.log("この男性は誰ですか: >> ", this.$store.state.author);
  console.log("彼はどうですか: >> ", this.$store.state.describe);
 },
};
</スクリプト>

サーバーを起動し、コンソールを開いてアドレスバーにhttp://192.168.1.233:3000/#/weclomeを再度入力します。
印刷情報を見た

この男は誰ですか: >> アシター
彼はどうですか:>> フィルムを持った少年

6. まとめ

初期プロジェクトはここで終了ですが、vue3 にはまだ興味深い点がたくさんあります。次回は、VUE3 のハイライト コンポジション API の使用について説明します。 (最近、原神をプレイしていて少し苦痛を感じています)

これで、vite を使用して vue3 アプリケーションを構築する方法についての記事は終了です。vite を使用して vue3 を構築する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vite+ElectronでVUE3デスクトップアプリケーションを素早く構築
  • 古い Vue プロジェクトに Vite サポートを追加する方法
  • Vite2.x に基づく Vue 3.x プロジェクトの実装
  • vite2.0+vue3 モバイルプロジェクトの詳細な説明
  • Vue3とViteについて

<<:  指定フィールドによるMySQLカスタムリストのソートの実装

>>:  Selenium+testng を使用して Docker で Web 自動化を実現する方法

推薦する

HTML 初心者のためのベストプラクティス 15 選

HTML 初心者向けのベストプラクティスを 30 個紹介します。 1. タグを閉じたままにする過去に...

vuex の補助関数 mapGetters の基本的な使い方の詳細な説明

mapGettersヘルパー関数mapGettersヘルパー関数は、ストア内のゲッターをローカルの計...

JavaScript 関数のコンテキストのルールは何ですか?

目次1. ルール 1: Object.Method() 1.1 ケース1 1.2 ケース2 1.3 ...

Vueタイマーの詳細な使い方

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

Linux の sudo 脆弱性により不正な特権アクセスが発生する可能性がある

Linux で新たに発見された sudo の脆弱性を悪用すると、特定のユーザーが root としてコ...

ウェブサイトデザインにおいて非常に重要な概念であるdiv+floatの分析

ウェブサイトの構築では、HTML と CSS に関するさまざまな問題に常に遭遇します。ウェブサイト ...

MySql マスタースレーブレプリケーションメカニズムの包括的な分析

目次マスタースレーブレプリケーションメカニズム非同期レプリケーション準同期レプリケーションマスタース...

バッチモードでtopコマンドを実行する方法

top コマンドは、Linux システムのパフォーマンスを監視するために誰もが使用している最適なコマ...

SSH ポート転送、ローカル ポート転送、リモート ポート転送、動的ポート転送の詳細

パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...

HTMLとは何ですか?

HTML 開発の歴史: HTML は英語で Hypertext Marked Language の...

MySQL5.6.31 winx64.zip インストールと設定のチュートリアル

#1. ダウンロード # #2. ローカルに解凍し、必要な構成のmy*.iniを変更します。 #3....

JavaScript配列の一般的なメソッドの概要

目次1. はじめに2. フィルター() 3. マップ() 4. ソート() 5. 減らす() 6. ...

MySQL 8.0ドライバとAlibaba Druidバージョン間の互換性の問題を解決

この記事では主に、MySQL 8.0 ドライバーと Alibaba Druid バージョン間の互換性...

MySQL シリーズ 10 同時実行制御を実装するための MySQL トランザクション分離

目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...