Viteとはどんなビルドツールか
Viteは、Vue.jsの作者Evan You氏が開発したフロントエンドビルドツールだ。開発時はブラウザのネイティブESモジュールを活用してバンドルを省略し、本番ビルドではRollup(またはRolldown)で最適化されたバンドルを生成する。
Webpackの開発サーバーが起動に数十秒かかるような大規模プロジェクトでも、Viteなら数秒で起動する。React、Vue、Svelte、Solid、Preactなど主要フレームワークに対応している。
主な機能とフロントエンド開発での強み
- 即時起動の開発サーバー:ネイティブESモジュールで開発時のバンドルを省略
- 高速HMR:ファイル変更時の画面反映がミリ秒単位。プロジェクト規模に関係なく速度が一定
- Rollupベースの本番ビルド:tree-shaking、コード分割、最適化を自動適用
- フレームワーク非依存:React、Vue、Svelte、Solid、Preact、Litに対応
- 豊富なプラグイン:Rollupプラグインとの互換性があり、エコシステムが充実
- TypeScript・JSX・CSS Modules標準対応:追加設定なしで利用可能
- SSR対応:サーバーサイドレンダリングのビルトインサポート
インストールとプロジェクト作成
# React + TypeScript
npm create vite@latest my-app -- --template react-ts
# Vue
npm create vite@latest my-app -- --template vue-ts
# Svelte
npm create vite@latest my-app -- --template svelte-ts
プロジェクトの起動:
cd my-app
npm install
npm run dev
vite.config.tsの基本設定:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
server: {
port: 3000,
},
build: {
outDir: 'dist',
sourcemap: true,
},
})
Webpackからの移行ポイント
Webpackプロジェクトからの移行で押さえるべき点:
# 依存関係の置き換え
npm uninstall webpack webpack-cli webpack-dev-server
npm install -D vite @vitejs/plugin-react
主な対応表:
| Webpack | Vite |
|---|---|
webpack.config.js |
vite.config.ts |
webpack-dev-server |
vite (dev) |
html-webpack-plugin |
index.html(ルート直下) |
process.env.NODE_ENV |
import.meta.env.MODE |
require() |
import |
index.htmlをルートディレクトリに移動し、エントリーポイントを<script type="module">で指定する:
<!DOCTYPE html>
<html>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
競合ビルドツールとの比較
| ツール | 開発サーバー | 本番ビルド | エコシステム | 設定の手間 |
|---|---|---|---|---|
| Vite | ◎ ESM即時起動 | ◎ Rollup | ◎ 大規模 | ◎ ゼロコンフィグ |
| Webpack | △ バンドル遅い | ◎ 成熟 | ◎ 最大 | △ 設定複雑 |
| Turbopack | ◎ Rust高速 | ○ 開発中 | △ Next.js専用 | ◎ 自動 |
| esbuild | ◎ Go高速 | ○ 低レベル | △ プラグイン少 | ○ シンプル |
| Rspack | ◎ Rust高速 | ◎ Webpack互換 | ○ 成長中 | ○ Webpack互換 |
差別化ポイント:Viteはフレームワーク非依存で最も広く採用されているモダンビルドツールだ。Turbopackは高速だがNext.js専用。Webpackはエコシステムが最大だが開発サーバーの速度で劣る。Rspackは Webpack互換を目指すがまだ成長段階にある。
AI開発ツールのフロントエンド構築
LLMベースのチャットUIやダッシュボードを構築する際、Viteの高速な開発サーバーが開発効率を大きく向上させる。shadcn/uiのコンポーネントと組み合わせれば、LangChainやDifyのフロントエンドを素早くプロトタイピングできる。
Astroでコンテンツサイトを構築する場合も、内部でViteが使われている。
まとめ:Viteが向いているケース
Viteは「Webpackの起動の遅さに不満がある」プロジェクト、または「新規プロジェクトでモダンなビルドツールを使いたい」場合に最適だ。React、Vue、Svelteのどれを使っていても、Viteへの移行で開発体験が改善する。