【Vue】Vue3＋Vite3（+TypeScript）で爆速Webフロント構築する全手順

## 概要
Vue v3 と Vite v3（と TypeScript）を使ってWeb画面を構築する手順の備忘録

## 前提

- OS： macOS 11.7（Big Sur）
- CPU： Intel Xeon W
- node： v18.12.1
- npm： v8.19.2

## Vite とは
「[Vite（ヴィート）](https://ja.vitejs.dev/)」は、2020年に発表されたフロントエンドの「ビルドツール」。
ビルドツールとは、コマンド１つで、ソースコードから実行可能アプリケーションまでの作成を自動化するツールのことで、Vite の開発者は、Vue.js を作った Evan You 氏だが、Vue 専用のビルドツールではなく、React など他の技術でも使用できる。

Vue は、これまで [Vue CLI](https://cli.vuejs.org/) が標準ビルドツールとなっていたが、現在は非推奨とされ、現在は Vite が標準のツールとなっている。
![viteとは.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/787582/bf0ecc03-3f2a-6790-b3b3-a49ff7b65680.png)

尚、Vite は事前インストールの必要がなく、いきなりコマンドを利用できる。
ただし、[公式の説明](https://ja.vitejs.dev/guide/#%E6%9C%80%E5%88%9D%E3%81%AE-vite-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B)によると、Node.js のバージョンが一定以上でなければならないため、PCの `node -v` でバージョンを事前に確認した方がよい。

## 手順

Web アプリを作成したいディレクトリで、以下のコマンドを実行する

```bash
# プロジェクト作成コマンド
npm create vite@latest
```

初めて vite コマンドを利用する場合のみ、以下のようにインストールを確認されるので、肯定して続行する

```bash
Need to install the following packages:
  create-vite@3.2.1
Ok to proceed? (y) y # 👈 y と回答すればOK
```

以降、以下のように質問形式になるので、プロジェクトの設定情報を決めていく

```bash
? Project name: › vue-demo # プロジェクト名は？（今回は「vue-demo」とした）
? Select a framework: › # フレームワークは？（今回は「Vue」を選択してエンターキー）
    Vanilla
❯   Vue
    React
    Preact
    Lit
    Svelte
    Others
? Select a variant: › # バリエーションは？（今回は「TypeScript」を選択してエンターキー）
    JavaScript
❯   TypeScript
    Customize with create-vue ↗
    Nuxt ↗

# すべて選択後, アプリが生成される （成功）
Scaffolding project in /{コマンド実行したディレクトリのパス}/vue-demo...
Done. Now run:
  cd vue-demo
  npm install
  npm run dev

# これは npm の新バージョンが出たよ！という警告. 無視してOK
npm notice 
npm notice New major version of npm available! 8.19.2 -> 9.1.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.1.2
npm notice Run npm install -g npm@9.1.2 to update!
npm notice 
```

全て完了するとアプリができている。
そしたら、`Now run:` に書かれてる通りの手順で起動確認ができる。

```bash
# 作成したアプリのディレクトリに移動
cd vue-demo
# node モジュールをインストールする
npm install
# 起動
npm run dev

# 以下のようになったら起動完了
  VITE v3.2.4  ready in 292 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
```

Webブラウザで、上記に表示された `http://localhost:5173/` にアクセスしてみる
![vue-vite.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/787582/74c20cfb-5f4e-d8e6-4a95-e16d9e9a8fc7.png)
上記のように表示されたら成功。尚、この画面は、真ん中のボタンを押したら数字がカウントアップするという簡単なWebアプリになっている。

起動しているサーバを停止するには、ターミナル上で `Ctrl（Control）`＋`C` を押せば止まる。

以上で、Vut3 ＋ Vite のフロント構築は完了。

## おまけ

実際に出来上がったアプリの設定ファイルを見てみると、Vue のバージョンの Vite のバージョンが確認できる

```json-doc:vue-demo/package.json
{
  "name": "vue-demo", // 設定したプロジェクト名
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite", // 起動コマンド
    "build": "vue-tsc && vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "vue": "^3.2.41" // Vue のバージョン
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^3.2.0",
    "typescript": "^4.6.4",
    "vite": "^3.2.3", // Vite のバージョン
    "vue-tsc": "^1.0.9"
  }
}
```

### VScode の拡張機能

以下の拡張機能をVScodeに導入するのをオススメする

**Vue Language Features (Volar)**
![Volar.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/787582/3b5afbb3-af8c-4405-6e26-f041b333ac5b.png)