SvelteKit Architecture
Overview
SvelteKit 2 Overview
Svelte 5 Runes
// State management
let count = $state(0);
// Derived state
let doubled = $derived(count * 2);
// Props (in components)
let { user, tenants } = $props();
// Effects
$effect(() => {
console.log(`Count is now ${count}`);
});Project Structure
Routing
File-Based Routing
File
Purpose
Example
Layout Groups
Route Parameters
Server-Side Rendering (SSR)
How SSR Works
Load Functions
Form Actions
Layouts
Nested Layouts
Layout Inheritance
Layout Data Loading
Hooks
Server Hooks (hooks.server.ts)
hooks.server.ts)Hook Sequence
Event Locals
Cloudflare Adapter
Configuration
Build Output
Cloudflare Bindings
Type Safety
Generated Types
App Type Declaration
Performance Optimizations
Code Splitting
Lazy Loading
Preloading
Error Handling
Error Pages
Error Boundaries
Global Error Handler
Testing
Component Testing
Vitest Configuration
Best Practices
1. Use Server-Side Load Functions
2. Leverage Layouts for Shared Logic
3. Use Form Actions for Mutations
4. Type Everything
5. Optimize Bundle Size
Related Documentation
Last updated