Skip to main content

Laravel et Vite

Vite est un outil de build frontend rapide. En développement, il propose du Hot Module Replacement (HMR) qui applique instantanément les changements de fichiers ; en production, il génère des assets optimisés. Depuis Laravel 9, Vite est l’outil de build officiel, intégré à Laravel via laravel-vite-plugin. Ce plugin :
  • gère les points d’entrée ;
  • fournit le HMR pendant le développement ;
  • s’intègre à la directive Blade @vite() ;
  • gère la versioning des assets en production (cache-busting).
Avec un kit de démarrage (Laravel Breeze, etc.), la configuration Vite + Tailwind est déjà en place. Cette page décrit la configuration à partir de zéro.
Pour situer Vite dans l’architecture frontend Laravel, consultez d’abord Frontend.

Installation et configuration

Vérifier Node

Node.js 16+ et npm sont requis.

Installer les paquets

Un projet Laravel neuf a déjà vite et laravel-vite-plugin dans package.json. Installez :

vite.config.js

Le fichier est présent à la racine. Spécifiez vos points d’entrée.
Pour un SPA / Inertia, il est conseillé d’importer le CSS depuis le JS. Retirez resources/css/app.css de la liste et ajoutez import '../css/app.css'; en tête de resources/js/app.js.

Démarrer le serveur de dev

En dev, npm run dev lance le serveur Vite. Les modifications se rechargent automatiquement (HMR).
Lancez aussi le serveur Laravel avec composer run dev.
composer run dev démarre php artisan serve et npm run dev en parallèle.

Rechargement automatique des vues Blade

refresh: true recharge automatiquement le navigateur lorsque vous sauvegardez une vue Blade ou un fichier de route.
Répertoires surveillés avec refresh: true :
  • resources/views/**
  • app/Livewire/**
  • routes/**
  • lang/**

Build de production

Avant le déploiement, lancez npm run build. Les assets sont bundlés et versionnés dans public/build/.
Structure typique :
manifest.json fait la correspondance nom → hash ; @vite() s’en sert pour charger les bons fichiers.
Ajoutez public/build/ à .gitignore. Buildez à la volée sur le serveur ou via CI.

Charger les assets depuis Blade

Ajoutez @vite() dans le <head> de votre layout.
Si le CSS est importé depuis le JS, ne référencez que l’entrée JavaScript.
La directive @vite() change de comportement selon l’environnement.

Points d’entrée JS / CSS

JavaScript

resources/js/app.js est le point d’entrée principal ; importez-y les autres modules.

CSS

Placez les styles globaux dans resources/css/app.css.

Plusieurs points d’entrée

Pour un back-office avec ses propres assets :
Dans les layouts Blade, chargez seulement le bon point d’entrée.

Intégration Tailwind CSS

Tailwind v4 s’intègre via un plugin Vite.
1

Installer Tailwind

2

Ajouter le plugin à `vite.config.js`

3

Importer Tailwind dans le CSS

Tailwind v3 nécessitait tailwind.config.js et postcss.config.js. Tailwind v4 n’en a plus besoin.

Alias

laravel-vite-plugin configure automatiquement l’alias @ vers resources/js.
Alias personnalisés via resolve.alias :
Exemple :

Configurations par framework

Vue

React

Ajoutez @viteReactRefresh avant @vite dans le template Blade.

Assets statiques

Les images et polices référencées depuis Blade peuvent aussi être versionnées. Précisez les répertoires via assets.
Récupérez l’URL versionnée avec Vite::asset().

Récapitulatif

Prochaines étapes

Cache

Améliorez encore les performances de votre application grâce au cache Laravel.
Dernière modification le 13 juillet 2026