JavaScript モジュールバンドラの Vite についてまとめる。

Vite とは?

まず バンドル とは、複数のファイルを1つのファイルにまとめて出力することです。
ブラウザで実行される JavaScript は通常、複数の .js ファイルを 1 つのファイルにまとめて minify されています。
これを実現するツールを モジュールバンドラ と呼びます。
既存のモジュールバンドラには Webpack などが挙げられますが、 Vite には以下の特徴があります。

  • 高速ビルド
    • ブラウザの Native ES Modulesを使用して、より高速なビルドを実現
  • 高速ホットリロード
    • HMR(Hot Module Replacement)のメカニズムをNative ES Modules上で実行して実現

ちなみに Vite(ヴィート)と発音するようです。
フロントエンド界隈でデファクトとなっている React の初期プロジェクトを作成する「create-react-app」は 2023 年春頃からメンテナンスが止まっています。
Vite には「create-react-app」の代替となる機能を有しており、その事もあって「Vite + React」の組み合わせが人気となっています。

私見ですが、 Vite は React 以外にも他のフロントエンド開発にも対応していますので、本記事執筆時点では、JavaScript/TypeScript プロジェクトを作成する場合、使いたいフレームワーク・ライブラリのテンプレート(後述)があれば、とりあえず Vite を使えばいいのではないかと思います。( Next.js は Vite と競合しますので例外とします。)

使い方

プロジェクト作成

Vite では以下のコマンドでプロジェクトを作成します。

$ npm create vite@latest [プロジェクト名] -- --template [テンプレート]

公式テンプレート には以下のようなものがあります。
-ts とつくと TypeScript のプロジェクトになります。)

  • vanilla / vanilla-ts
    • Vanilla JS のプロジェクト
  • vue / vue-ts
    • Vue.js のプロジェクト
  • react /react-ty
    • React のプロジェクト

話はずれますが、 Vanilla とは素の JavaScript を意味します。「バニラ」はアイスクリームのフレーバーの 1 つでもあり、「余分なものや装飾品のない、シンプルなもの」転じて退屈で地味な物事、を意味するようです。そのことから Vanilla は素の JavaScript というわけです。
Vanilla JS は、純粋な JavaScript またはプレーンな JavaScript と同義で、ライブラリやフレームワークなどの外部ツールを使用しません。
ここでは Vanilla JS を用いてプロジェクトを作成してみます。

$ npm create vite@latest vanilla-ts-sample -- --template vanilla-ts
$ cd vanilla-ts-sample
$ npm install
$ npm run dev

また、 Vite には上記の公式テンプレートの他に コミュニティが管理するテンプレート も存在します。

おすすめ書籍

おすすめ記事