Wat zijn Laravel en Vite?
Vite is een snelle frontend-buildtool. Tijdens het ontwikkelen biedt Vite hot module replacement (HMR), waarmee bestandswijzigingen direct worden doorgevoerd, en voor productiebuilds genereert het geoptimaliseerde assets. Sinds Laravel 9 is Vite de standaard frontend-buildtool en werkt het samen met Laravel vialaravel-vite-plugin. Deze plugin vervult de volgende hoofdrollen:
- Beheer van entry points
- HMR-ondersteuning van de ontwikkelserver
- Integratie met de
@vite()Blade-directive - Versionering van assets bij productiebuilds (cache busting)
Gebruik je een Laravel starter kit (zoals Laravel Breeze), dan is de configuratie voor Vite en Tailwind al inbegrepen. Deze pagina legt uit hoe je alles vanaf nul instelt.
Installatie en configuratie
Controleren of Node is geïnstalleerd
Voor Vite heb je Node.js (16 of hoger) en npm nodig. Controleer of ze geïnstalleerd zijn.Packages installeren
In een nieuw geïnstalleerd Laravel-project staanvite en laravel-vite-plugin al in package.json. Installeer de dependencies met dit commando:
vite.config.js configureren
In de projectroot is eenvite.config.js gegenereerd. Hier geef je de entry points op (de bestanden waar de bundel begint).
De ontwikkelserver starten
Tijdens het ontwikkelen start je de Vite-ontwikkelserver metnpm run dev. Wijzig je een bestand, dan wordt de browser automatisch bijgewerkt (HMR).
composer run dev start php artisan serve en npm run dev tegelijk.Blade-views automatisch herladen
Stel jerefresh: true in, dan wordt de browser automatisch herladen wanneer je een Blade-view of routebestand opslaat.
refresh: true worden wijzigingen in de volgende directories gemonitord:
resources/views/**app/Livewire/**routes/**lang/**
Productiebuild
Voer vóór het deployen naar productienpm run build uit. De assets worden gebundeld en geversioneerd en uitgevoerd naar public/build/.
manifest.json staat de mapping tussen bestandsnamen en hashes; de @vite()-directive gebruikt dit bestand om de juiste bestanden in te laden.
Assets laden vanuit Blade
Voeg de@vite() Blade-directive toe aan de <head> van je layout.
@vite()-directive schakelt automatisch tussen ontwikkel- en productiegedrag.
Entry points voor JavaScript en CSS instellen
JavaScript instellen
resources/js/app.js is het belangrijkste entry point. Van hieruit importeer je andere modules.
CSS instellen
Globale styles schrijf je inresources/css/app.css.
Meerdere entry points
Wil je per pagina verschillende assets bundelen, bijvoorbeeld voor een beheerpaneel, geef dan meerdere entry points op.Integratie met Tailwind CSS
Vanaf Tailwind CSS v4 wordt Tailwind geïntegreerd als Vite-plugin.1
Installeer Tailwind
2
Voeg de plugin toe aan vite.config.js
3
Importeer Tailwind in je CSS
Gebruik je Tailwind CSS v3, dan heb je
tailwind.config.js en postcss.config.js nodig. In het nieuwste Tailwind CSS v4 zijn deze bestanden niet meer nodig.Aliassen instellen
laravel-vite-plugin stelt automatisch de alias @ in. Deze verwijst naar de directory resources/js.
resolve.alias.
Configuratie per framework
Vue
React
@viteReactRefresh-directive toe vóór @vite.
Statische assets verwerken
Ook afbeeldingen en fonts waarnaar je vanuit Blade-templates verwijst, kun je met Vite versioneren. Met de optieassets geef je de betreffende directories op.
Vite::asset().
Samenvatting
Volgende stap
Cache
Leer hoe je met de cachefunctionaliteit van Laravel de prestaties van je applicatie verder verbetert.