端くれプログラマの備忘録 Laravel [Laravel] MixからViteに置き換わったのは、どのバージョンから?

[Laravel] MixからViteに置き換わったのは、どのバージョンから?

Laravel MixがViteに置き換わったのは、Laravel 9 からです。

背景

  • Laravel 8以前: Laravel Mixがデフォルトのフロントエンドビルドツールとして使用されていました。Laravel MixはWebpackをベースにしたツールで、簡単にフロントエンドのビルドプロセスを構成できました。
  • Laravel 9以降: Laravel 9のリリースに伴い、より高速でモダンなフロントエンドビルドツールである Vite がデフォルトに置き換わりました。

Vite導入の理由

  1. ビルド速度の向上: Viteは、モジュールバンドラーとしてesbuildを使用するため、Laravel Mix(Webpackベース)よりもはるかに高速です。
  2. 開発環境の改善: 開発中にHot Module Replacement (HMR)を提供し、リアルタイムで変更をブラウザに反映します。
  3. シンプルな設定: 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の方がパフォーマンスや開発効率の面で推奨されています。