Vite 2.0 markiert das erste stabile Release des neuen Build-Tools für Frontend-Projekte. Entwickelt wurde Vite von Evan You. Ursprünglich handelte es sich um ein Projekt für Vue.js; daraus wurde dann jedoch deutlich mehr: Vite ist ein Framework-agnostischer vorkonfigurierter Dev-Server mit Bundler, der mit ES Modules arbeitet und den Tool-Code zu nativen Sprachen kompiliert. Derzeit bringt das Tool offizielle Templates für Vue, React, Preact und Lit Element mit. Eine Community-Integration für Svelte ist in Arbeit.
Vite: Schnellere Frontend-Builds für Entwickler
Das Ziel hinter Vite lautet, schneller zu sein als andere Lösungen. Evan You berichtet, dass viele bekannte Module-Bundler und Build-Tools für JavaScript-Projekte eine schwache Performance bieten, sobald Projekte wachsen. So müsse man selbst bei Verwendung von Hot Module Replacement oft sekundenlang warten, bis eine Veränderung am Code auf dem Dev-Server umgesetzt wird. Auch die Startup-Zeiten seien in vielen Fällen zu hoch, wenn viele Module verarbeitet werden müssen. Darum setzt Vite 2 auf ein Pre-Bundling mit esbuild, das zu einer mindestens zehnfach schnelleren Startzeit führen soll.
Dass Vite erst mit v2.0 einen stabilen Status erreicht hat, ist ungewöhnlich für das JavaScript-Ökosystem. Normalerweise kann davon ausgegangen werden, dass das Release von v1 eine Produktionsreife ausdrückt. Vite 1.0 hat allerdings nie den RC-Status verlassen, sondern wurde von diesem Zeitpunkt an noch einmal komplett überarbeitet. Dieser Schritt ist nun abgeschlossen, natürlich sind aber auch schon die nächsten Features in Arbeit. So bringt Vite 2.0 einen experimentellen Support für Server-side Rendering mit, der jedoch eher an Framework-Entwickler gerichtet ist. Das Feature könne in anderen Frameworks „unter der Haube“ verwendet werden. Details dazu können den Release Notes entnommen werden.
Die Motivation für das Projekt und einen Vergleich mit anderen Build-Tools findet man in der Dokumentation. Wer Vite ausprobieren möchte, kann das neue Build-Tool per npm installieren: npm init @vitejs/app
. Dafür ist Node.js v12 oder höher notwendig.