Laravel MixがViteに置き換わったのは、Laravel 9 からです。
背景
- Laravel 8以前: Laravel Mixがデフォルトのフロントエンドビルドツールとして使用されていました。Laravel MixはWebpackをベースにしたツールで、簡単にフロントエンドのビルドプロセスを構成できました。
- Laravel 9以降: Laravel 9のリリースに伴い、より高速でモダンなフロントエンドビルドツールである Vite がデフォルトに置き換わりました。
Vite導入の理由
- ビルド速度の向上: Viteは、モジュールバンドラーとして
esbuild
を使用するため、Laravel Mix(Webpackベース)よりもはるかに高速です。 - 開発環境の改善: 開発中に
Hot Module Replacement (HMR)
を提供し、リアルタイムで変更をブラウザに反映します。 - シンプルな設定: ViteはWebpackより設定が簡単で、Vue.jsやReactなどのモダンなフロントエンドフレームワークと統合しやすいです。
Laravel 9でのVite設定
Laravel 9では、laravel-vite-plugin
が提供され、LaravelアプリケーションとViteの統合がスムーズになっています。
例: package.json
{
"devDependencies": {
"vite": "^4.2.0",
"laravel-vite-plugin": "^0.7.0"
}
}
例: vite.config.js
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
],
});
Laravel Mixを引き続き利用可能か?
Laravel 9以降でも、希望すればLaravel Mixを使用することは可能です。ただし、Viteの方がパフォーマンスや開発効率の面で推奨されています。