Skip to main content

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 via laravel-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.
Wil je eerst weten welke plek Vite inneemt binnen de totale frontend-opzet van Laravel, bekijk dan eerst het overzicht op Frontend.

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 staan vite en laravel-vite-plugin al in package.json. Installeer de dependencies met dit commando:

vite.config.js configureren

In de projectroot is een vite.config.js gegenereerd. Hier geef je de entry points op (de bestanden waar de bundel begint).
Gebruik je een SPA of Inertia, dan wordt aanbevolen om de CSS vanuit JavaScript te importeren. Verwijder in dat geval resources/css/app.css uit de entry points en voeg import '../css/app.css'; toe bovenaan resources/js/app.js.

De ontwikkelserver starten

Tijdens het ontwikkelen start je de Vite-ontwikkelserver met npm run dev. Wijzig je een bestand, dan wordt de browser automatisch bijgewerkt (HMR).
Je kunt hem ook tegelijk met de ontwikkelserver van Laravel starten.
composer run dev start php artisan serve en npm run dev tegelijk.

Blade-views automatisch herladen

Stel je refresh: true in, dan wordt de browser automatisch herladen wanneer je een Blade-view of routebestand opslaat.
Bij refresh: true worden wijzigingen in de volgende directories gemonitord:
  • resources/views/**
  • app/Livewire/**
  • routes/**
  • lang/**

Productiebuild

Voer vóór het deployen naar productie npm run build uit. De assets worden gebundeld en geversioneerd en uitgevoerd naar public/build/.
Voorbeeld van de directorystructuur na de build:
In manifest.json staat de mapping tussen bestandsnamen en hashes; de @vite()-directive gebruikt dit bestand om de juiste bestanden in te laden.
De directory public/build/ bevat buildartefacten, dus we raden aan die toe te voegen aan .gitignore. Voer de build uit op de deploybestemming, of bouw in CI en deploy daarna.

Assets laden vanuit Blade

Voeg de @vite() Blade-directive toe aan de <head> van je layout.
Importeer je de CSS vanuit JavaScript, geef dan alleen het JavaScript-entry point op.
De @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 in resources/css/app.css.

Meerdere entry points

Wil je per pagina verschillende assets bundelen, bijvoorbeeld voor een beheerpaneel, geef dan meerdere entry points op.
In Blade laad je alleen de bijbehorende entry points.

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.
Wil je eigen aliassen toevoegen, dan stel je die in via resolve.alias.
Voorbeeld van importeren met aliassen:

Configuratie per framework

Vue

React

Gebruik je React, voeg dan in je Blade-template de @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 optie assets geef je de betreffende directories op.
In Blade-templates haal je de geversioneerde URL op met de methode Vite::asset().

Samenvatting

Volgende stap

Cache

Leer hoe je met de cachefunctionaliteit van Laravel de prestaties van je applicatie verder verbetert.
Laatst gewijzigd op 6 september 2026