πΊοΈ Next.js Routing Deep Dive: Folder = URL Model
Next.js App Router mein routing sirf files banane ka kaam nahi hai, balki ye aapki application architecture design karne ka tareeka hai. Is lesson mein hum samjhenge ki kaise folder structure aur URL segments aapas mein connect hote hain.
π§ 1. Routing ka Basic Rule: Folder is the Segment
Next.js ka sabse bada rule ye hai: app/ folder ke andar har ek subβfolder URL ka ek segment ban jata hai.
Basic Flow
app/ β folder_name/ β page.tsx
Rule of Existence
Agar kisi folder mein page.tsx file nahi hai, toh wo route exist nahi karta. Sirf folder hone se URL access nahi hota.
Example
| Folder Structure | URL Path | Status |
|---|---|---|
app/blog/page.tsx |
/blog |
β Accessible |
app/about/info.tsx |
/about |
β 404 (Missing page.tsx) |
π 2. SegmentβBased Routing (The Tree Structure)
URL ka har part jo / ke beech hota hai, use Segment kehte hain. Next.js is tree structure ko follow karke URL resolve karta hai.
Example URL
/dashboard/settings/profile
Folder Segments
dashboard(Segment 1)settings(Segment 2)profile(Segment 3)
Analogy π§©
Sochiye aap ek almirah ke drawers open kar rahe hain. Ek bade drawer ke andar chota drawer, aur last drawer mein actual cheez (page) milti hai. URL bhi isi tarah segmentβbyβsegment resolve hota hai.
ποΈ 3. Nested Routes aur Layout Connection
Routing sirf URL ke liye nahi, balki UI structure ke liye bhi hoti hai.
Jab aap folders ko nest karte hain, Next.js unke layouts ko bhi nest kar deta hai.
Hierarchy Example
Root Layout β Dashboard Layout β Settings Page
Matlab /dashboard/settings par aapko dashboard ka sidebar + settings ka content dono dikhega, kyunki layouts persist rehte hain.
π 4. Route Groups (folder) β Clean Structure
Kabhiβkabhi folders sirf code organization ke liye chahiye hote hain, URL mein dikhane ke liye nahi. Iske liye Route Groups use hote hain.
Syntax
Folder ka naam brackets mein rakhein:
(auth)
(marketing)
Behavior
Ye folders URL segment mein count nahi hote.
Example
app/(auth)/login/page.tsx β /login
app/(auth)/register/page.tsx β /register
Use Case
Login aur Signup pages ko ek jagah organize karna, bina URL ko messy banaye.
π£οΈ 5. Parallel Routes @folder (Basic Intro)
Parallel routing ek advanced feature hai jo aapko ek hi URL par multiple sections render karne deta hai.
Syntax
@sidebar
@content
Concept
Dashboard page mein sidebar aur main content independent routes ho sakte hain jo ek saath render hon.
Deep dive advanced lesson mein hoga.
β οΈ 6. Common Routing Mistakes
Missing page.tsx
Folder bana dete hain par route entry file nahi hoti β 404 error.
Confusing Groups with URLs
(auth) ka matlab URL mein /auth/login nahi hota. Brackets ka matlab hai ignore this folder for URL.
Layout vs Template Confusion
Layout ko reβrender karana chahna β jabki layout state persist karta hai. Aise case mein template.tsx use karna chahiye.
β‘ 7. URL Resolution Order (How It Works)
Jab user /dashboard/settings request karta hai, Next.js roughly is order mein files resolve karta hai:
- Root Layout β
app/layout.tsx - Intermediate Layout β
app/dashboard/layout.tsx - Specific Loading UI β
app/dashboard/settings/loading.tsx - Final Page β
app/dashboard/settings/page.tsx
π― Final Mental Model Summary
- Folder = URL Segment β Har folder rasta hai
page.tsx= Destination β Iske bina route band hailayout.tsx= Surroundings β Persistent UI(group)= Internal Label β Sirf developer ke liye
π Next Lesson
Dynamic Routes (e.g., /blog/[id]), CatchβAll segments, aur inka SEO par kya asar padta hai?