🍃
Laravel + Blade + Vite 環境に Tailwind CSS v4 を導入する
先日 Laravel プロジェクトに Tailwind CSS (v4.0)を導入しました。
備忘録として、技術スタックや設定手順などを書き残しておこうと思います。
Tailwind CSS v4 を導入したプロジェクトの「技術スタック」
- GitHub リポジトリ
- 1つだけ
 
 - バックエンド
- 言語
- PHP(v8.x)
 
 - フレームワーク
- Laravel(v12.x)
 
 
 - 言語
 - フロントエンド
- テンプレートエンジン
- Blade
 
 - JavaScript 実行環境
- Node.js(v22.x)
 
 - ビルドツール
- Vite(v6.x)
 
 
 - テンプレートエンジン
 
設定方針
- Tailwind CSS v4 が推奨する設定にする(=基本的に最新の設定方法に寄せる)
 
作成 or 編集したファイル
編集したファイルは全部で5ファイルでした。
src/package.jsonvite.config.jspostcss.config.jsresources/css/app.css- 
resources/views/components/layout/app.blade.php(レイアウトファイル) 
設定手順
1. 必要な Node.js パッケージをインストールする
ターミナルで以下のコマンドを実行し、必要なパッケージをインストール。
Laravel Vite Plugin
npm i -D laravel-vite-plugin
Tailwind CSS
npm i -D tailwindcss
@tailwindcss/postcss
npm i -D @tailwindcss/postcss
@tailwindcss/vite
npm i -D @tailwindcss/vite
備考
postcss と autoprefixer はパッケージ @tailwindcss/postcss に含まれているため、これらを個別にインストールする作業は不要とのこと。
- 【公式ドキュメント】Upgrade guide - Getting started - Tailwind CSS
 
2. 各種設定ファイルを作成 or 編集する
Vite との連携
- ファイル
vite.config.js
 - 設定項目
- Vite プラグインの設定
 
 
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite';
export default defineConfig({
  plugins: [
    laravel({
      input: [
        'resources/css/app.css',
        'resources/js/app.ts'
      ],
      refresh: true
    }),
    tailwindcss()
  ],
  server: { hmr: { host: 'localhost' } },
  build: { manifest: true }
});
PostCSS との連携
- ファイル
postcss.config.js
 - 設定項目
- プラグイン
 
 
export default {
    plugins: {
        '@tailwindcss/postcss': {},
    },
};
Tailwind CSS 自体の設定
- ファイル
resources/css/app.css
 - 設定項目
- 「Tailwind CSS の class はこれらのファイルで使用します」という宣言
- 「自動コンテンツ検出」機能に任せる
 
 - CSS 変数(デザイントークン)を定義する
 
 - 「Tailwind CSS の class はこれらのファイルで使用します」という宣言
 
/* Tailwind CSS デフォルトのユーティリティクラスをインポート */
@import 'tailwindcss';
/* 本プロジェクトにおける Tailwind CSS のクラスの使用箇所を自動検出する範囲を明示 */
@source '../views/components';
@source '../views/pages';
@theme {
  /* color, font-size, spacing など、本プロジェクトで使用するデザイントークンを定義 */
}
※便宜上、今回私が携わったプロジェクトでは、 resources/views ディレクトリ以下に pages というディレクトリを追加で作成しています。
ビューファイルで Tailwind CSS を使用する
- ファイル
- 
resources/views/components/layout/app.blade.php(レイアウトファイル) 
 - 
 - 設定項目
- head タグ内に 
resources/css/app.cssを読み込むコードを追記する 
 - head タグ内に 
 
    <head>
        <meta charset="utf-8" />
        <!-- 中略 -->
        @vite(['resources/css/app.css')
    </head>
3. Vite の開発サーバーを起動する
ターミナルで以下のコマンドを実行し、 Vite の開発サーバーを起動する。
npm run dev
これにより、 Tailwind CSS でスタイリングした箇所のホットリロード機能が有効になる。
参考資料
- Laravel に Tailwind CSS をインストールする方法
- 【公式ドキュメント】Install Tailwind CSS with Laravel - Tailwind CSS
 
 - Vite と Tailwind CSS との連携方法
- 【公式ドキュメント】Upgrade guide - Getting started - Tailwind CSS
 
 - Tailwind CSS にデフォルトで存在する CSS 変数の一覧
- 【公式ドキュメント】Theme variables - Core concepts - Tailwind CSS
 
 
Discussion