Vite (französisch für "schnell", ausgesprochen /vit/) ist ein Build-Tool der nächsten Generation für moderne Webentwicklung. Entwickelt von Evan You, dem Schöpfer von Vue.js, hat Vite seit seiner Veröffentlichung 2020 die Frontend-Entwicklung revolutioniert. Der Kern der Innovation: Vite nutzt native ES-Module des Browsers für die Entwicklung und eliminiert damit den zeitaufwändigen Bundling-Schritt, der Tools wie Webpack langsam macht.
Vite ist inzwischen das Standard-Build-Tool für Vue, Svelte (SvelteKit), Solid und viele React-Projekte. Mit über 15 Millionen wöchentlichen npm-Downloads hat Vite Webpack als meistgenutztes Frontend-Build-Tool für neue Projekte abgelöst.
Warum Vite so schnell ist
Der Entwicklungs-Server
Der größte Unterschied zu Webpack zeigt sich beim Start des Entwicklungsservers:
| Schritt | Webpack | Vite |
|---|---|---|
| Server-Start | Alle Dateien bündeln, dann starten | Sofort starten, Dateien on-demand liefern |
| Kalter Start (1.000 Module) | 10-30 Sekunden | < 500 ms |
| Hot Module Replacement | Gesamten Modulbaum neu berechnen | Nur geänderte Module invalidieren |
| HMR bei großen Projekten | Sekunden | Konstant < 100 ms |
Vite erreicht diese Geschwindigkeit durch zwei Schlüsselentscheidungen:
- Native ES-Module: Statt Dateien zu bündeln, liefert Vite sie als einzelne ES-Module an den Browser. Der Browser löst Import-Ketten selbst auf
- esbuild für Prebundling: Abhängigkeiten aus
node_moduleswerden einmalig mit esbuild (geschrieben in Go, 10-100x schneller als JavaScript-basierte Tools) vorgebündelt
Production Builds mit Rollup
Für den Production Build nutzt Vite Rollup, einen ausgereiften Bundler mit hervorragendem Tree Shaking und Code Splitting. Das Ergebnis sind hochoptimierte Bundles, die mit Webpack-Builds gleichauf oder besser sind.
Vite im Projekt-Setup
Framework-Templates
Vite bietet offizielle Templates für alle großen Frameworks:
| Framework | Template | Befehl |
|---|---|---|
| React + TypeScript | react-ts | npm create vite@latest -- --template react-ts |
| Vue.js + TypeScript | vue-ts | npm create vite@latest -- --template vue-ts |
| Svelte + TypeScript | svelte-ts | npm create vite@latest -- --template svelte-ts |
| Vanilla TypeScript | vanilla-ts | npm create vite@latest -- --template vanilla-ts |
Konfiguration: Minimal by Design
Eine der größten Stärken von Vite ist die minimale Konfiguration. Die meisten Projekte brauchen kaum eine vite.config.ts. Vite setzt auf sinnvolle Defaults und Convention over Configuration. Im Vergleich zu Webpack, wo eine Konfiguration leicht 200+ Zeilen umfassen kann, kommt Vite oft mit 10-20 Zeilen aus.
Das Plugin-System
Vites Plugin-System basiert auf der Rollup-Plugin-API, erweitert um Vite-spezifische Hooks. Die meisten Rollup-Plugins funktionieren in Vite ohne Anpassung. Wichtige offizielle Plugins:
- @vitejs/plugin-react: React-Support mit Fast Refresh
- @vitejs/plugin-vue: Vue Single-File-Component-Support
- @vitejs/plugin-legacy: Generiert Legacy-Bundles für ältere Browser
- vite-plugin-pwa: Progressive Web App Support
Vite und die Framework-Landschaft
Vite hat sich zum gemeinsamen Build-Tool der wichtigsten Frameworks entwickelt:
- SvelteKit: Nutzt Vite als Build-Tool
- Nuxt 3: Nutzt Vite als Standard-Bundler
- Solid Start: Basiert auf Vite
- Remix: Bietet Vite-Integration seit v2
- Vitest: Test-Framework, das Vites Konfiguration und Plugin-System wiederverwendet
Next.js und Vite
Next.js ist ein Sonderfall: Statt Vite zu übernehmen, entwickelt Vercel mit Turbopack einen eigenen Webpack-Nachfolger in Rust. Beide Tools verfolgen das gleiche Ziel — schnellere Builds —, aber mit unterschiedlichen Strategien.
Wann Vite die richtige Wahl ist
Vite ist für die meisten neuen Frontend-Projekte die Standardempfehlung. Es gibt nur wenige Szenarien, in denen andere Build-Tools besser geeignet sind:
- Legacy-Browser-Support: Wenn IE11 unterstützt werden muss, ist Webpack flexibler (wird aber zunehmend irrelevant)
- Next.js-Projekte: Next.js hat sein eigenes Build-System, Vite wird hier nicht benötigt
- Sehr spezielle Build-Anforderungen: Webpack bietet mehr Konfigurations-Granularität für Sonderfälle
Für Agenturprojekte bietet Vite eine hervorragende Developer Experience: schnelle Iteration, minimale Konfiguration und Kompatibilität mit allen relevanten Frameworks. Die eingesparte Zeit bei jedem Dev-Server-Start und jedem Code-Update summiert sich über ein Projekt hinweg zu erheblicher Produktivitätssteigerung.