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 自動化を実現する方法

推薦する

共有サイドバーを実装するためのネイティブJS

この記事では、ネイティブ JS で実装された共有サイドバーを紹介します。効果は次のとおりです。 以下...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

CSS の一部のプロパティの前には「*」または「_」が付きます。

CSS の一部のプロパティの前には「*」または「_」が付きます。さまざまなブラウザを識別する例えば...

WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します

サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた場合の解決策を参考までに共有します。具体的な内容は次のとお...

Vue-router プログラムナビゲーションの 2 つの実装コード

ページをナビゲートする2つの方法宣言型ナビゲーション: リンクをクリックしてナビゲーションを実現する...

Mysql でサーバーの UUID を変更する方法

問題の原因:スレーブサーバーがクローンマスターサーバーである場合、server-uuidの値は同じで...

DockerでHadoopを実行しイメージを作成する方法

車輪の再発明として、ここでは再パッケージ化を使用して Docker ベースの Hadoop イメージ...

Centos7にTenda U12ワイヤレスネットワークカードドライバーをインストールする際の問題を解決する

解決プロセス:方法1: CentOS7.3 のデフォルトのカーネル バージョンは低く、3.10.0-...

MySQLデータベースの基礎知識

目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...

Dockerコンテナのk8sデプロイメントの実装

環境: (docker、k8s クラスター)、前回 docker で起動した Java プログラムの...

SQL ROW_NUMBER() および OVER() メソッドのケーススタディ

構文フォーマット: row_number() over(partition by grouping ...

JS 継承の詳細

目次序文準備する要約する継承方法プロトタイプ継承プロトタイプチェーン継承コンストラクタの借用(クラス...

本をめくる効果を実現するネイティブJS

この記事では、ネイティブ JS で実装された本をめくる効果の図を紹介します。効果は次のとおりです。 ...

Tomcatが親の委任メカニズムを破壊する方法についての簡単な説明

目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...