Ecme logoEcme logo
داشبورد
    فروشگاه آنلاین
    پروژه
    بازاریابی
    تحلیل
مفاهیم
    هوش مصنوعی
      گفتگو
      تصویر
    پروژه‌ها
      تابلوی اسکرام
      فهرست
      جزئیات
      وظایف
      مسائل
    مشتریان
      فهرست
      ویرایش
      ایجاد
      جزئیات
    محصولات
      فهرست
      ویرایش
      ایجاد
    سفارش‌ها
      فهرست
      ویرایش
      ایجاد
      جزئیات
    حساب کاربری
      تنظیمات
      سابقه فعالیت
      نقش‌ها و دسترسی‌ها
      تعرفه‌ها
    مرکز راهنمایی
      مرکز پشتیبانی
      مقاله
      ویرایش مقاله
      مدیریت مقاله
    تقویم
    مدیریت فایل
    ایمیل
    گفتگو
اجزای رابط کاربری
    عمومی
      دکمه
      شبکه
      تایپوگرافی
      نمادها
    بازخورد
      هشدار
      پنجره گفتگو
      منوی کشویی
      نوار پیشرفت
      پیش‌نمایش
      نشانگر بارگذاری
      پیام موقت
    نمایش اطلاعات
      تصویر کاربر
      نشانک
      تقویم
      کارت‌ها
      جدول
      برچسب
      خط زمان
      راهنمای ابزار
    فرم‌ها
      کادر انتخاب
      انتخابگر تاریخ
      کنترل‌های فرم
      ورودی
      گروه ورودی
      دکمه رادیویی
      بخش
      انتخابگر
      کلید دوحالته
      ورودی زمان
      بارگذاری
    ناوبری
      منوی کشویی
      منو
      صفحه‌بندی
      گام‌ها
      زبانه‌ها
    نمودار
      نمودارها
      نقشه‌ها
احراز هویت
    ورود به سیستم
      ساده
      کناری
      دوبخشی
    ثبت‌نام
      ساده
      کناری
      دوبخشی
    بازیابی رمز عبور
      ساده
      کناری
      دوبخشی
    بازنشانی رمز عبور
      ساده
      کناری
      دوبخشی
    تایید رمز یکبار مصرف
      ساده
      کناری
      دوبخشی
سایر
    دسترسی غیرمجاز
    صفحه فرود
راهنما
    مستندات
    اجزای اشتراکی
    ابزارها
    تاریخچه تغییرات
حق نشر © 2026 Ecme تمامی حقوق محفوظ است.
شرایط و ضوابط | حریم خصوصی و سیاست
شروع کار
مقدمهنصبتل‌ویند سی‌اس‌اسسی‌اس‌اسشروع کنندهتایپ‌اسکریپتبه‌روزرسانی
توسعه
سرور توسعهمتغیرهای محیطیساختار پوشهمسیریابیایجاد صفحه جدیدیکپارچه‌سازی APIاحراز هویتمدیریت وضعیت
پیکربندی
پیکربندی اپچیدمان‌هاپیکربندی ناوبریتم‌سازیبین‌المللی‌سازیحالت تاریک/روشنجهتپیکربندی تم کلی
استقرار
ساخت تولید
دیگر
منابع و اعتبارات

ایجاد صفحه جدید

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

ایجاد کامپوننت صفحه
  1. به دایرکتوری اپ ناوبری کنید
    در پوشه src/app, تصمیم بگیرید که صفحه جدید شما کجا باید قرار گیرد. برای مثال، اگر صفحه نیاز به احراز هویت دارد، آن را در دایرکتوری src/app/(protected-pages) قرار دهید. اگر احراز هویت لازم ندارد، از دایرکتوری src/app/(public-pages) استفاده کنید.

  2. فایل جدید ایجاد کنید
    فایلی با نام مسیر جدید ایجاد کنید. برای مثال:

    • برای یک مسیر استاتیک، src/app/new-page/page.tsx ایجاد کنید.
    • برای یک مسیر دینامیک، از براکت‌ها برای تعریف پارامترها استفاده کنید، مانند src/app/new-page/[id]/page.tsx.
  3. کد صفحه خود را اضافه کنید
    کامپوننت ریکت برای صفحه خود را تعریف کنید. مثال:

    const Page = () => {
        return (
            <div>
                <h1>به صفحه جدید خوش آمدید</h1>
                <p>این یک صفحه سفارشی است.</p>
            </div>
        );
    };
    
    export default Page;
پیکربندی مسیریابی اضافه کنید

پیکربندی مسیریابی را گسترش دهید، فایل src/configs/route.config/routes.config.ts protectedRoutes یا publicRoutes را برای شامل کردن صفحه جدید خود به روز رسانی کنید. برای مثال:

import { ADMIN, USER } from '@/constants/roles';

export const protectedRoutes = {
    ...protectedRoutes,
    '/new-page': {
        key: 'newPage',
        authority: [ADMIN, USER],
        meta: {
            pageContainerType: 'contained',
        },
    },
};

در Next.js، ایجاد یک صفحه جدید به سادگی اضافه کردن یک دایرکتوری و یک فایل page.tsx است

یادداشت‌های اضافی

به جای اعمال 'use client' مستقیماً به فایل صفحه، توصیه می‌شود که یک کامپوننت کلاینت جداگانه ایجاد کنید و آن را به صفحه وارد کنید. این رویکرد اجازه می‌دهد که صفحه خود به صورت رندر شده در سرور باقی بماند، رندر سرور (SSR) را بهینه می‌کند و فقط منطق سمت کلاینت را در کامپوننت کلاینت مدیریت می‌کند. برای مثال:

// src/app/(protected-pages)/new-page/page.tsx
import ClientComponent from './ClientComponent';

const NewPage = () => {
    return (
        <div>
            <h1>صفحه جدید</h1>
            <ClientComponent />
        </div>
    );
};

export default NewPage;
// src/app/(protected-pages)/new-page/_components/ClientComponent.tsx
'use client';

const ClientComponent = () => {
    return <p>این کامپوننت در کلاینت اجرا می‌شود.</p>;
};

export default ClientComponent;

اینگونه، صفحه می‌تواند قبل از رندر کردن کامپوننت‌های سمت کلاینت، کارهای SSR را انجام دهد.