Next.js के पास दो रूटिंग सिस्टम हैं। Pages Router (pages/) मूल है; App Router (app/, Next 13 के बाद से) नया, सुझाया गया है जो React Server Components के आसपास बनाया गया है।
Pages Router (pages/) App Router (app/)
──────────────────────────────────────────────────────
pages/about.tsx → /about app/about/page.tsx → /about
Default export = page page.tsx = page, layout.tsx = layout
getServerSideProps (SSR) async Server Components (fetch directly)
getStaticProps (SSG) fetch() with caching options
_app.tsx / _document.tsx Nested layout.tsx files
All components client-rendered Server Components by default
// App Router — a Server Component that fetches data directly, no extra API
// app/users/page.tsx
export default async function Users() {
const res = await fetch("https://api.example.com/users"); // runs on the SERVER
const users = await res.json();
return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}
App Router में, कंपोनेंट्स डिफ़ॉल्ट रूप से Server Components हैं — वे सर्वर पर चलते हैं, सीधे डेटा await कर सकते हैं, और उस कंपोनेंट के लिए ब्राउज़र को शून्य JS भेजते हैं। Pages Router इसके बजाय विशेष फ़ंक्शन (getServerSideProps) का उपयोग करता था ताकि क्लाइंट-रेंडर्ड पृष्ठों में डेटा पास किया जा सके।
layout.tsx)।loading.tsx / Suspense के साथ।नई परियोजनाओं के लिए App Router का उपयोग करें — यह वहां है जहां Next.js विकास केंद्रित है। Pages Router अभी भी समर्थित है (और दोनों एक ही ऐप में सह-अस्तित्व कर सकते हैं) लेकिन अनिवार्य रूप से रखरखाव मोड में है।
App Router Next.js की वर्तमान आर्किटेक्चर (Server Components, नेस्टेड लेआउट्स, streaming) का प्रतिनिधित्व करता है।
जानना कि यह विरासत Pages Router से कैसे अलग है — विशेष रूप से server-first डिफ़ॉल्ट और लेआउट मॉडल — किसी भी आधुनिक Next.js कोडबेस में काम करने के लिए आवश्यक है।