Next.js
مسیریاب app
برنامه تان را بسیازید
مسیریابی Routing
گروه های مسیر

گروه های مسیر

در پوشه app، پوشه‌های تو در تو به طور معمول به مسیرهای URL نگاشت می‌شوند. با این حال، شما می‌توانید یک پوشه را به عنوان یک گروه مسیر Route Group علامت‌گذاری کنید تا از قرار گرفتن آن پوشه در مسیر URL جلوگیری کنید.

این کار به شما امکان می‌دهد بخش‌های مسیر و فایل‌های پروژه خود را بدون تحت تاثیر قرار دادن ساختار مسیر URL در گروه‌های منطقی سازماندهی کنید.

گروه‌های مسیر برای موارد زیر مفید هستند:

قرارداد

یک گروه مسیر را می‌توان با قرار دادن نام یک پوشه درون پرانتز ایجاد کرد: (folderName)

مثال ها

سازماندهی مسیرها بدون تأثیر بر مسیر URL

برای سازماندهی مسیرها بدون تأثیر بر URL، یک گروه ایجاد کنید تا مسیرهای مرتبط را با هم نگه دارید. پوشه‌های داخل پرانتز از URL حذف خواهند شد (مثال: (marketing) یا (shop)).


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

اگرچه مسیرهای داخل (marketing) و (shop) سلسله مراتب URL یکسانی دارند، می‌توانید با اضافه کردن یک فایل layout.js داخل پوشه‌های آنها، یک طرح بندی متفاوت برای هر گروه ایجاد کنید.


گروه های مسیر با طرح بندی های متعددگروه های مسیر با طرح بندی های متعدد

انتخاب بخش‌های خاص برای یک چیدمان

برای اینکه مسیرهای خاصی را در یک طرح بندی قرار دهید، یک گروه مسیر جدید ایجاد کنید (مثلا: (shop)) و مسیرهایی را که چیدمان یکسانی دارند به گروه منتقل کنید (مثلا: account و cart). مسیرهای خارج از گروه چیدمان را به اشتراک نمی‌گذارند (مثلا: checkout).


گروه‌های مسیریابی با طرح‌بندی انتخابیگروه‌های مسیریابی با طرح‌بندی انتخابی

ایجاد چندین طرح بندی ریشه

برای ایجاد چیدمان های ریشه، فایل layout.js سطح بالا را حذف کنید و یک فایل layout.js داخل هر گروه مسیر اضافه کنید. این کار برای بخش‌بندی یک برنامه به بخش‌هایی که رابط کاربری یا تجربه کاملاً متفاوتی دارند مفید است. تگ‌های <html> و <body> باید به هر چیدمان ریشه اضافه شوند.


گروه‌های مسیر با طرح‌بندی ریشه‌های متعددگروه‌های مسیر با طرح‌بندی ریشه‌های متعدد

در مثال بالا، هر دو (marketing) و (shop) چیدمان ریشه خاص خود را دارند.


خوب است بدانید:

  • نامگذاری گروه‌های مسیر به جز سازماندهی، اهمیت خاصی ندارد. آنها بر مسیر URL تأثیری نمی‌گذارند.
  • مسیرهایی که شامل یک گروه مسیر هستند نباید به همان مسیر URL سایر مسیرها هدایت شوند. به عنوان مثال، از آنجایی که گروه‌های مسیر بر ساختار URL تأثیر نمی‌گذارند، هر دوی (marketing)/about/page.js و (shop)/about/page.js به /about هدایت می‌ شوند و باعث ایجاد خطا می‌شوند.
  • اگر از چندین چیدمان ریشه بدون فایل layout.js سطح بالا استفاده می‌کنید، فایل page.js صفحه اصلی شما باید در یکی از گروه‌های مسیر تعریف شود، برای مثال: app/(marketing)/page.js.
  • پیمایش بین چندین چیدمان ریشه باعث بارگذاری کامل صفحه می‌شود (برخلاف پیمایش سمت کاربر). برای مثال، پیمایش از /cart که از app/(shop)/layout.js استفاده می‌کند به /blog که از app/(marketing)/layout.js استفاده می‌کند، باعث بارگذاری کامل صفحه می‌شود. این موضوع فقط برای چندین چیدمان ریشه صدق می‌کند.