0
0
Svelteframework~10 mins

Route groups in Svelte - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Route groups
Start: User visits URL
Router checks route groups
Match route group prefix?
NoCheck other routes
Yes
Apply group layout or settings
Render child route component
Display page with group context
When a user visits a URL, the router checks if it matches a route group prefix. If yes, it applies the group's layout or settings, then renders the child route inside that group.
Execution Sample
Svelte
// Folder structure example
src/routes/(admin)/dashboard/+page.svelte
src/routes/(admin)/settings/+page.svelte

// (admin) is a route group folder
// Routes inside share layout or settings
This code shows a route group named (admin) that groups dashboard and settings routes under a shared layout or settings.
Execution Table
StepURL VisitedRoute Group CheckedGroup Match?Action TakenRendered Component
1/dashboard(admin)YesApply admin group layoutdashboard/+page.svelte
2/settings(admin)YesApply admin group layoutsettings/+page.svelte
3/profile(admin)NoCheck other routesprofile/+page.svelte
4/admin(admin)YesNo direct child route, 404 or redirectNone
💡 Routing stops when a matching route is found or no routes match.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4
currentURL''"/dashboard""/settings""/profile""/admin"
groupMatchedfalsetruetruefalsetrue
layoutAppliednoneadmin layoutadmin layoutnoneadmin layout
componentRenderednonedashboard/+page.sveltesettings/+page.svelteprofile/+page.sveltenone
Key Moments - 2 Insights
Why does /profile not use the (admin) group layout?
Because /profile URL does not match the (admin) group prefix, so the router skips that group and looks for other routes (see execution_table row 3).
What happens if a URL matches a group but no child route exists?
The router finds no matching child route inside the group, so it shows a 404 or redirect (see execution_table row 4).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what layout is applied when visiting /settings?
Ano layout
Badmin layout
Cprofile layout
Ddefault layout
💡 Hint
Check the 'layoutApplied' column after Step 2 in variable_tracker.
At which step does the route group NOT match the URL?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Look at the 'Group Match?' column in execution_table for Step 3.
If we add a route admin/+page.svelte inside (admin), what happens at Step 4?
A404 error still shown
BNo layout applied, +page.svelte rendered
Cadmin layout applied and +page.svelte rendered
DRouter crashes
💡 Hint
Route groups apply layout to all child routes; adding admin/+page.svelte matches /admin URL.
Concept Snapshot
Route groups in Svelte organize routes under a shared folder named with parentheses, e.g., (admin).
Routes inside a group share layouts or settings automatically.
When a URL matches a group's prefix, the group layout applies before rendering the child route.
If no child route matches, a 404 or redirect occurs.
This helps keep related pages consistent and organized.
Full Transcript
Route groups in Svelte let you group related routes inside folders named with parentheses, like (admin). When a user visits a URL, the router checks if it matches a route group prefix. If it does, the router applies the group's layout or settings, then renders the child route inside that group. For example, visiting /dashboard matches the (admin) group, so the admin layout is applied and dashboard/+page.svelte is shown. If a URL does not match the group prefix, like /profile, the router skips that group and looks for other routes. If a URL matches a group but no child route exists, a 404 or redirect happens. This system helps keep related pages organized and consistent in style.