Routing ·
Load-Funktionen ·
Form Actions ·
API-Endpoints ·
Layouts ·
Hooks
SvelteKit ist das Full-Stack-Framework für Svelte – mit Datei-basiertem Routing, serverseitigem Rendering, API-Endpoints und vielem mehr. Diese Cheatsheet fasst die grundlegenden Konzepte zusammen.
SvelteKit verwendet ein datei-basiertes Routing: Jede +page.svelte-Datei im routes/-Verzeichnis wird automatisch zu einer Route. Dynamische Segmente werden mit eckigen Klammern [slug] definiert.
+page.js oder +page.server.js für die Load-Funktion. Client-seitige Load-Funktionen werden im Browser ausgeführt, serverseitige auf dem Server.
Load-Funktionen werden vor dem Rendern einer Seite ausgeführt und laden die benötigten Daten. Sie können serverseitig (+page.server.js) oder client-seitig (+page.js) ausgeführt werden.
| Parameter | Beschreibung |
|---|---|
| params | Dynamische URL-Parameter (z.B. { slug: 'hello' }) |
| fetch | Gefetchte Funktion (mit Credentials) |
| url | Volle URL der aktuellen Seite |
| parent | Daten von Layout-Load-Funktionen abrufen |
| cookies | Zugriff auf Cookies (nur server) |
| request | Das Request-Objekt (nur server) |
+page.server.js) werden nur auf dem Server ausgeführt – ideal für Datenbank-Zugriffe oder API-Aufrufe mit Secret-Keys.
Form Actions ermöglichen die Verarbeitung von Formulardaten auf dem Server. Sie werden in +page.server.js definiert und über die action-Attribute von Formularen aufgerufen.
use:enhance, um Formulare progressiv zu verbessern – das Formular wird ohne Seiten-Neuladung abgesendet und die Antwort wird automatisch verarbeitet.
API-Endpoints werden mit +server.js-Dateien definiert. Exportierte Funktionen wie GET, POST, PUT, DELETE behandeln die entsprechenden HTTP-Methoden.
json() aus @sveltejs/kit für einfache JSON-Antworten. Für andere Formate können Sie new Response(body, options) verwenden.
Layouts definieren die gemeinsame Struktur von Seiten. +layout.svelte wird automatisch von allen Unterseiten verwendet. +error.svelte wird bei Fehlern angezeigt.
+layout.svelte für Elemente, die auf allen Seiten erscheinen sollen (Header, Footer, Navigation). +error.svelte wird automatisch bei serverseitigen Fehlern angezeigt.
Hooks sind globale Funktionen, die bei jeder Anfrage ausgeführt werden. Sie ermöglichen Authentifizierung, Logging, CORS-Konfiguration und Fehlerbehandlung.
event.locals, um Daten zwischen Hooks und Load-Funktionen zu teilen – ideal für Benutzerinformationen oder Datenbankverbindungen.
[slug]
load()
actions
+server.js
+layout
hooks
export async function load({ params }) { ... } ·
export const actions = { default: async ({ request }) => { ... } }