npm remove @tailwindcss/viteimport { 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,
}),
],
});npm remove tailwindcss
npm install -D tailwindcss@3 @tailwindcss/forms
npx tailwindcss initimport defaultTheme from 'tailwindcss/defaultTheme';
import forms from '@tailwindcss/forms';
/** @type {import('tailwindcss').Config} */
export default {
content: [
'./vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php',
'./storage/framework/views/*.php',
'./resources/**/*.blade.php',
'./resources/**/*.js',
'./resources/**/*.vue',
],
theme: {
extend: {
fontFamily: {
sans: ['Figtree', ...defaultTheme.fontFamily.sans],
},
},
},
plugins: [forms],
};npm install -D postcss autoprefixerexport default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};@tailwind base;
@tailwind components;
@tailwind utilities;npm run buildCongratulations, you're now using TailwindCSS3 with Laravel 12!
Follow the prior steps, 1. and 2., and remove the Vite plugin for TailwindCSS. Then:
npm install -D @tailwindcss/postcssand update your postcss.config.js as follows:
export default {
plugins: {
'@tailwindcss/postcss': {},
},
};Sadly, this way doesn't pick up an additional tailwind.config.js file, as by default TailwindCSS4 has changed it to be configured via CSS.
For an extended explanations why-and-how, check the blog version of Using TailwindCSS3 on Laravel 12
Hey, I'm glad it helped! It was actually the exact same reason I stumbled onto figuring this all out as well. 😄