SvelteKit manages routing for both the frontend and backend in one place. This makes building web apps simpler and faster.
Why SvelteKit handles full-stack routing
src/routes/ +page.svelte // Frontend page component +page.server.js // Server-side code for that page +server.js // API endpoints for backend logic
SvelteKit uses special files like +page.svelte for frontend pages and +server.js for backend routes.
This folder structure lets SvelteKit know what code runs on the client and what runs on the server.
src/routes/about/+page.svelte
// This file shows the About page content to users.src/routes/about/+page.server.js export function load() { return { info: 'About info from server' }; }
src/routes/api/data/+server.js export function GET() { return new Response(JSON.stringify({ message: 'Hello from API' }), { status: 200 }); }
This example shows a main page that gets data from the server before showing it. It also has an API route that returns JSON data.
// File: src/routes/+page.svelte <script> export let data; </script> <h1>Welcome to SvelteKit</h1> <p>Message from server: {data.message}</p> // File: src/routes/+page.server.js export function load() { return { message: 'Hello from server-side load!' }; } // File: src/routes/api/hello/+server.js export function GET() { return new Response(JSON.stringify({ greeting: 'Hello from API!' }), { status: 200 }); }
SvelteKit routing combines frontend and backend in one place, reducing setup time.
Server routes run only on the server, so they can safely handle secrets and databases.
Using full-stack routing helps keep your app organized and easier to maintain.
SvelteKit handles both frontend pages and backend routes using a simple folder structure.
This approach makes building full-stack apps easier and faster.
You can fetch data on the server and send it to pages before they load.