Vite(ヴィート)とは
従来のビルドツールであるVue CLI等に比べて高速で動作するビルドツールのこと。
フランス語で速くという意味らしい。
公式サイト↓
環境構築 Vite×Vue3×Typescript
1.npmのVersionを確認する(6系とそれ以降でその後のコマンドが変わる)
$ npm -v
8.12
2.プロジェクトの作成
# npm 6.x
$ npm init vite@latest <ここにプロジェクト名> --template vue-ts
# npm 7+ は追加で 2 つのダッシュが必要:
npm init vite@latest <ここにプロジェクト名> -- --template vue-ts
上記は公式サイトに記述されていた
vueの後に-tsを付けることでTypescriptを導入することができる。
コマンド入力後の結果は以下の通り
Scaffolding project in (中略)
Done. Now run:
cd <自分が指定したプロジェクト名>
npm install
npm run dev
3.開発に必要なライブラリのインストールをする
# 生成された Vue プロジェクトフォルダに移動する
$ cd <自分が指定したプロジェクト>
# 開発に必要なライブラリ群をインストールする
# ライブラリ群の情報は package.json に記載あり
$ npm install
めちゃくちゃ一瞬でインストールされた!!!Vue-cliを使用した場合はかなり時間がかかった印象がある。あちらはESLintやPrettierやVue Router Vue storeがオプションで使用するのを選べるメリットはあるが....
3.サーバーを立ち上げる
$ npm run dev
vite v2.5.8 dev server running at:
> Local: http://localhost:3000/
> Network: use `--host` to expose
ready in 419ms.
推奨IDEを揃える
以前まではvscodeの拡張機能としてVeturを使っていたが、Volarが推奨のようなので、Vscodeに行き拡張機能をインストールした。それに伴って使っていたVeturは無効にした.
4. 生成されたCodeを確認する
<script setup lang="ts">
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
import HelloWorld from "./components/HelloWorld.vue";
</script>
<template>
<img alt="Vue logo" src="./assets/logo.png" />
<HelloWorld msg="Hello Vue 3 + TypeScript + Vite" />
</template>
<style>
# app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
<script setup lang="ts">
import { ref } from 'vue'
defineProps<{ msg: string }>()
const count = ref(0)
</script>
<template>
<h1>{{ msg }}</h1>
<p>
Recommended IDE setup:
<a href="https://code.visualstudio.com/" target="_blank">VSCode</a>
+
<a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>
</p>
<p>See <code>README.md</code> for more information.</p>
<p>
<a href="https://vitejs.dev/guide/features.html" target="_blank">
Vite Docs
</a>
|
<a href="https://v3.vuejs.org/" target="_blank">Vue 3 Docs</a>
</p>
<button type="button" @click="count++">count is: {{ count }}</button>
<p>
Edit
<code>components/HelloWorld.vue</code> to test hot module replacement.
</p>
</template>
<style scoped>
a {
color: #42b983;
}
label {
margin: 0 0.5em;
font-weight: bold;
}
code {
background-color: #eee;
padding: 2px 4px;
border-radius: 4px;
color: #304455;
}
</style>
デフォルトで気になっていたscript setupの記法で書かれていた!!