mcpField
L
laravel-vite

laravel-vite

github.com/fusengine開発3460 回インストール2 週間前に更新
リポジトリ

laravel-vite について

Vite を使う Laravel フロントエンド開発者向けのビルドガイドです。初期設定、アセット処理、開発、SSR、本番デプロイを扱います。

主な機能

  1. 01laravel-vite-plugin の設定
  2. 02複数エントリーポイントとアセット処理
  3. 03HMR と Docker の設定
  4. 04ビルド最適化と SSR
  5. 05Inertia、Vue、React、Svelte との連携
  6. 06CSP nonce とデプロイのガイド

活用シーン

  1. 01Laravel アプリ向けに Vite を設定
  2. 02ローカルまたは Docker 開発で HMR を設定
  3. 03デプロイ用に最適化済みアセットを準備
  4. 04SSR または JS フレームワークと Inertia を設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fusengine/agents --skill laravel-vite

インストール後、Claude Code で/laravel-viteを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
assets.md
build-optimization.md
deployment.md
dev-server.md
entry-points.md
environment.md
frameworks.md
inertia.md
preprocessors.md
security.md
setup.md
ssr.md
references/templates/
InertiaSetup.md
SSRSetup.md
ViteConfig.js.md
ViteConfigAdvanced.js.md

詳細

Laravel のフロントエンドビルドツールとしての Vite を取り上げます。初期設定と laravel-vite-plugin、複数のエントリーポイント、CSS プリプロセッサ (Sass/Less/PostCSS)、アセットの処理、VITE_ プレフィックス付き環境変数、 開発サーバーと HMR(Docker の設定を含む)、ビルドの最適化 (チャンク分割、圧縮)、サーバーサイドレンダリング、Inertia の統合、JS フレームワーク用プラグイン(Vue/React/Svelte)、CSP nonce によるセキュリティ、そして本番環境へのデプロイを扱います。

Laravel Vite

エージェントのワークフロー(必須)

実装を始める前に、並列で 3 つのエージェントを起動してください。それぞれ name を指定して Agent を 1 回呼び出します。

  1. fuse-ai-pilot:explore-codebase - 既存の vite.config.js と package.json を確認します
  2. fuse-ai-pilot:research-expert - Context7 で最新の Vite ドキュメントを確認します
  3. mcp__context7__query-docs - 特定のパターン(SSR、Inertia)を検索します

実装後、検証のために fuse-ai-pilot:sniper を実行してください。


概要

Vite は Laravel のデフォルトのフロントエンドビルドツールです。開発時には高速な HMR を提供し、本番環境向けには最適化されたビルドを生成します。

機能目的
HMR開発中に即座に更新
バンドル本番環境向けにアセットを最適化
SSRサーバーサイドレンダリングをサポート
フレームワークVue、React、Svelte との統合

重要なルール

  1. 常に laravel-vite-plugin を使用する - 生の Vite 設定は使用しないでください
  2. 環境変数には VITE_ プレフィックスを付ける - フロントエンドにのみ公開されます
  3. @vite ディレクティブを使用する - 手動で script タグを記述しないでください
  4. デプロイ前にビルドする - CI/CD で npm run build を実行します
  5. Docker 用に HMR を設定する - server.host: '0.0.0.0' を設定します

判断ガイド

スタックの選択
Using Tailwind CSS?
├── YES → v4? @tailwindcss/vite plugin
│         v3? PostCSS config
└── NO → Just laravel-vite-plugin

Using JavaScript framework?
├── Vue → @vitejs/plugin-vue
├── React → @vitejs/plugin-react
├── Svelte → @sveltejs/vite-plugin-svelte
└── None → Plain JS/CSS only
SSR の判断
Need SEO/fast first paint?
├── YES → Using Inertia?
│   ├── YES → Inertia SSR
│   └── NO → Consider Inertia or Livewire
└── NO → Client-side only

リファレンスガイド

概念(理由とアーキテクチャ)
トピックリファレンス参照するタイミング
セットアップsetup.md初期設定
エントリーポイントentry-points.md複数のバンドル
プリプロセッサpreprocessors.mdSass、Less、PostCSS
アセットassets.md画像、フォント、静的ファイル
環境変数environment.mdVITE_ 変数
開発サーバーdev-server.mdHMR、Docker、HTTPS
ビルドbuild-optimization.mdチャンク、圧縮
SSRssr.mdサーバーサイドレンダリング
Inertiainertia.mdAPI を使わない SPA
フレームワークframeworks.mdVue、React、Svelte
セキュリティsecurity.mdCSP nonce
デプロイdeployment.md本番環境、CDN
テンプレート(完全なコード)
テンプレート使用するタイミング
ViteConfig.js.md標準的なセットアップ
ViteConfigAdvanced.js.md完全な最適化
InertiaSetup.mdInertia + Vue/React
SSRSetup.mdSSR の設定

クイックリファレンス

基本的なセットアップ
// 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,
        }),
    ],
});
Blade ディレクティブ
<!DOCTYPE html>
<head>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
コマンド
コマンド目的
npm run dev開発サーバーを起動
npm run build本番向けビルド
npm run previewビルドをプレビュー

ベストプラクティス

推奨事項
  • Blade の HMR には refresh: true を使用します
  • インポートを整理するためにエイリアスを設定します
  • ベンダーを個別のチャンクに分割します
  • フロントエンド用の環境変数には VITE_ プレフィックスを使用します
  • Docker/Sail の設定をローカルでテストします
避けるべきこと
  • VITE_ 変数を通じて機密データを公開しないでください
  • デプロイ前のビルドを忘れないでください
  • アセットに絶対パスを使用しないでください
  • ステージング環境でソースマップを省略しないでください
  • チャンクサイズの警告を無視しないでください

Laravel 13 の注意点

Laravel 13 のスケルトンには、laravel-vite-plugin ^3.1(現行 3.2、peer vite ^8)、Vite 8、@tailwindcss/vite ^4 が含まれています。変更点は次のとおりです。

  • @vite() Blade ヘルパーはそのまま動作します
  • Inertia 3 + React 19 の場合は、@vitejs/plugin-react(現行 6.x)を使用します
  • セルフホスト可能なフォント(13.7+):プラグインの fonts オプション(import { google, bunny, fontsource, local } from 'laravel-vite-plugin/fonts')と @fonts Blade ディレクティブ
  • Vite::devServerUrl()(13.31+)で開発サーバーの URL を取得します
  • WebSocket 経由の HMR:開発環境では Reverb と Vite を別々のポートで共存させられます
  • build.target はブラウザー(JS)のターゲットであり、サーバーの PHP バージョンとは独立しています

コメント