توضیح درباره استفاده از Pages Router در Next.js و ساختار برنامه‌ها

nextjs pages router building application rendering
20 آبان 1403

Next.js یکی از محبوب‌ترین فریم‌ورک‌های توسعه وب است که توسط Vercel توسعه داده شده است. این فریم‌ورک به دلیل ویژگی‌های قوی و انعطاف‌پذیری که دارد، مثالی عالی برای ساخت برنامه‌های مدرن و باسرعت بالا است. یکی از ویژگی‌های مهم این فریم‌ورک، توانایی استفاده از Pages Router است که به توسعه‌دهندگان کمک می‌کند تا به راحتی صفحات مختلف وب‌سایت را مدیریت کنند. در ادامه به توضیحاتی درباره استفاده از این ویژگی و نحوه استفاده از آن در Next.js پرداخته می‌شود.

وقتی صحبت از توسعه وب می‌شود، مدیریت مسیرهای سایت یکی از بخش‌های کلیدی است. در Next.js این کار به سادگی با ایجاد فایل‌های جاوااسکریپت در پوشه pages انجام می‌شود. هر فایل در این پوشه به صورت خودکار به عنوان یک مسیر جدید در نظر گرفته می‌شود. این ویژگی کمک می‌کند تا ساختار وب‌سایت به صورت واضح و سازمان‌یافته باشد.

در Next.js، با استفاده از Pages Router می‌توانید به راحتی صفحات ثابت یا دینامیک ایجاد کنید. صفحات ثابت با استفاده از مسیرهای ساده و بدون پارامتر ساخته می‌شوند، در حالی که صفحات دینامیک می‌توانند پارامترها را از URL بگیرند و به برنامه ارسال کنند. این ویژگی امکان ساخت صفحات با محتوای پویا را فراهم می‌کند.

یکی دیگر از قابلیت‌های کلیدی Next.js قابلیت SSR یا Server-Side Rendering است که به برنامه‌ها کمک می‌کند تا بخش‌هایی از محتوای خود را قبل از ارسال به کلاینت رندر کنند. این ویژگی باعث می‌شود تا سرعت و عملکرد وب‌سایت بهبود یابد و تجربه کاربری بهتری فراهم شود.

استفاده از Pages Router در Next.js نه تنها ساخت وب‌سایت‌ها را ساده‌تر می‌کند بلکه به نگهداری و ارتقاء برنامه‌ها نیز کمک می‌کند. با قابلیت‌هایی که این فریم‌ورک ارائه می‌دهد، می‌توانید صفحاتی با معماری بهینه و پویا بسازید که به کاربران تجربی کاملاً رسا ارائه می‌دهند.

در بخش کدهای بعدی نحوه پیاده‌سازی Pages Router را به طور عملی خواهیم دید.


// نمونه کد برای ساخت مسیر ساده در Next.js
// این فایل در پوشه pages قرار دارد

// pages/index.js
export default function Home() {
return <div>خانه</div>;
}

// صفحات دینامیک با استفاده از کروشه ساخته می‌شوند
// pages/blog/[id].js
import { useRouter } from 'next/router';

export default function BlogPost() {
const router = useRouter();
const { id } = router.query;

return <div>پست وبلاگ شماره {id}</div>;
}

توضیح خط به خط کد

// نمونه کد برای ساخت مسیر ساده در Next.js
این قسمت نشان می‌دهد که چطور می‌توانید به سادگی یک مسیر ایجاد کنید.
// این فایل در پوشه pages قرار دارد
این توضیح اشاره می‌کند که فایل باید در پوشه pages قرار گیرد تا به عنوان مسیر شناخته شود.
export default function Home() {
تابعی به نام Home تعریف شده که به عنوان مسیر / استفاده می‌شود.
return <div>خانه</div>;
این کد یک صفحه HTML با متن ساده "خانه" نمایش می‌دهد.
// صفحات دینامیک با استفاده از کروشه ساخته می‌شوند
در این قسمت، روش ایجاد مسیرهای دینامیک با استفاده از نام‌گذاری فایل‌ها با کروشه توضیح داده شده است.
// pages/blog/[id].js
این فایل یک مسیر دینامیک ایجاد می‌کند که با استفاده از پارامتر id اجرا می‌شود.
import { useRouter } from 'next/router';
موارد مورد نیاز از ماژول next/router وارد شده‌اند تا بتوان به پارامترهای مسیر دسترسی داشت.
const { id } = router.query;
این خط پارامتر id را از برنامه router استخراج و استفاده می‌کند.
return <div>پست وبلاگ شماره {id}</div>;
در نهایت این کد یک صفحه با پارامتر id که از URL ارسال شده را نمایش می‌دهد.

سوالات متداول

؟

چطور می‌توانم یک صفحه جدید در Next.js ایجاد کنم؟

؟

چگونه یک مسیر دینامیک بسازم؟

؟

استفاده از Server-Side Rendering در Next.js چه مزیتی دارد؟

؟

چگونه به پارامترهای URL در Next.js دسترسی پیدا کنم؟