Was ist Wayfinder?
Laravel Wayfinder ist ein Paket, das ein Laravel-Backend reibungslos mit einem TypeScript-Frontend verbindet. Es erzeugt aus Controllern und Routen vollständig typisierte TypeScript-Funktionen, sodass Sie Laravel-Endpoints direkt als Funktion aus dem Frontend aufrufen können. Hartkodierte URLs, manuelles Verwalten von Route-Parametern und das händische Nachziehen von Backend-Änderungen entfallen komplett.Wayfinder ist im Beta (aktuell v0.1.x). Bis zum v1.0.0-Release kann sich die API noch ändern. Alle relevanten Änderungen werden im CHANGELOG protokolliert.
Unterschiede zwischen Ziggy und Wayfinder
Was ist Ziggy?
Ziggy ist ein Route-Helper, der über Jahre im Laravel-Ökosystem verbreitet war. Er stellt Laravel-Routen JavaScript-seitig bereit und erzeugt URLs in der Formroute('posts.show', { id: 1 }).
Warum Wayfinder ihn ablöst
Da Ziggy Route-Namen und Parameter als Strings behandelt, gab es Grenzen für TypeScript. Tippfehler in Route-Namen oder falsche Parameternamen fielen erst zur Laufzeit auf. Wayfinder ist TypeScript-first und erzeugt Controller-Methoden als importierbare Funktionen.
In den Inertia-basierten Laravel-Starterkits (React, Vue, Svelte) ist Wayfinder standardmäßig aktiv.
Installation
1. Server-seitiges Paket per Composer installieren
2. Vite-Plugin per NPM installieren
3. Plugin in vite.config.js ergänzen
TypeScript-Definitionen erzeugen
Erzeugen Sie die TypeScript-Dateien mit dem Kommandowayfinder:generate.
resources/js drei Verzeichnisse erzeugt.
--path.
Grundlegende Verwendung
Actions importieren und nutzen
Beispiel: URL-Erzeugung für dieshow-Methode von PostController.
.url().
Übergabe von Parametern
Wayfinder-Funktionen akzeptieren verschiedene Parameterformen./posts/{post:slug}), können Sie diesen Wert nutzen.
Vollständigen Controller importieren
Sie können auch den gesamten Controller importieren und Methoden darauf aufrufen.Invokable Controller
Bei Invokable Controllern rufen Sie die importierte Funktion direkt auf.Benannte Routen importieren
Für den Zugriff über Route-Namen verwenden Sie die Dateien unterroutes/.
Query-Parameter
Alle Wayfinder-Funktionen akzeptierenquery für zusätzliche Query-Parameter.
mergeQuery.
Form-Varianten
Für den Einsatz in klassischen HTML-Formularen erzeugen Sie mit--with-form und verwenden die .form-Variante.
Kombination aus Inertia und Wayfinder
Kombiniert mit den Formular-Helpern von Inertia versenden Sie Formulare, ohne einen einzigen URL-String zu schreiben.Link-Komponente funktioniert es analog.
Übernahme im Starterkit
Wenn Sie mitlaravel new ein neues Projekt anlegen und React, Vue oder Svelte wählen, erhalten Sie eine Konfiguration, in der Wayfinder automatisch eingerichtet ist. Das Starterkit enthält:
- Composer-Paket
laravel/wayfinder - NPM-Paket
@laravel/vite-plugin-wayfinder - Plugin-Konfiguration in
vite.config.js - Eintrag der generierten Verzeichnisse in
.gitignore
Behandlung von Reserved Words
Für Controller-Methoden mit dem Namen eines JavaScript-Schlüsselworts (z. B.delete, import) wird das Suffix Method angehängt.
Aktueller Stand (v0.1.x)
Die aktuelle Stable-Version wird über den Branchv0.1.x bereitgestellt. Stand März 2026 ist die neueste Version v0.1.15.
Wichtige Änderungen der v0.1.x-Reihe
Im next-Branch entwickelte Next-Gen-Features
Im Branch next wird die nächste Version entwickelt, die den Funktionsumfang gegenüber v0.1.x deutlich erweitert.
Deutlich erweiterter TypeScript-Umfang
Während v0.1.x nur Routen und Controller-Actions abdeckt, erzeugt die nächste Version alle folgenden Elemente als TypeScript.Typen aus FormRequests
Typen aus Eloquent-Modellen
types.d.ts erzeugt.
PHP-Enum zu TypeScript
Änderungen am Ausgabeverzeichnis
In v0.1.x war die Ausgabe aufactions/, routes/ und wayfinder/ aufgeteilt; in der nächsten Version wird alles unter resources/js/wayfinder gebündelt.
Wichtigste Änderungen von v0.1.x auf next
- Import-Pfad wechselt von
@/actions/...zu@/wayfinder/... - Flags
--skip-actions,--skip-routes,--with-formentfallen und wandern in die Konfiguration types.tsheißt jetzttypes.d.ts
Fazit
Laravel Wayfinder ist die TypeScript-first-Neukonzeption der Ziggy-Funktionalität „Laravel-Routen aus JavaScript nutzen”. Der Import erzeugter Funktionen bringt bei Typsicherheit, IDE-Support und Tree-Shaking erhebliche Vorteile. Bereits v0.1.x ermöglicht typsichere Referenzen auf Routen und Controller-Actions und ist Standardteil der Inertia-basierten Laravel-Starterkits. Die imnext-Branch entwickelte nächste Version wird zu einem umfassenderen Typ-Fundament ausgebaut, das FormRequests, Eloquent-Modelle, Enums und Inertia-Page-Props als TypeScript erzeugt.
GitHub-Repository Laravel Wayfinder
Quellcode, CHANGELOG und Issues finden Sie hier.
Vite Plugin Wayfinder
Details zu den Konfigurationsoptionen des Vite-Plugins.