نصب و راه اندازی
سیستم مورد نیاز :
- Node.js 18.17 (opens in a new tab) یا بالاتر.
- سیستم عاملهای macOS، Windows (شامل WSL) و Linux پشتیبانی میشوند.
نصب خودکار
ما توصیه میکنیم برنامه Next.js خود را با استفاده از دستور create-next-app راهاندازی کنید، این ابزار به صورت خودکار تمام موارد مورد نیاز را برای شما تنظیم میکند. برای ایجاد یک پروژه جدید، دستور زیر را در ترمینال خود اجرا کنید :
npx create-next-app@latestدر طی نصب سوالاتی در خصوص پیکربندی برنامه از شما پرسیده می شود.
What is your project named? my-app
Would you like to use TypeScript? No / Yes
Would you like to use ESLint? No / Yes
Would you like to use Tailwind CSS? No / Yes
Would you like to use `src/` directory? No / Yes
Would you like to use App Router? (recommended) No / Yes
Would you like to customize the default import alias (@/*)? No / Yes
What import alias would you like configured? @/*پس از پاسخ به سوالات، create-next-app یک پوشه با نام پروژه شما ایجاد کرده و وابستگیهای مورد نیاز را نصب خواهد کرد.
اگر با Next.js تازهکار هستید، برای مشاهدهی کلی از تمام فایلها و پوشههای احتمالی در برنامه خود، به مستندات مربوط به ساختار پروژه مراجعه کنید.
خوب است بدانید:
- Next.js اکنون به طور پیش فرض با پیکربندیهای TypeScript، ESLint و Tailwind CSS عرضه میشود.
- به طور اختیاری میتوانید از یک پوشه
srcدر ریشه پروژه خود برای جداسازی کد برنامه از فایلهای پیکربندی استفاده کنید.
نصب دستی
برای ایجاد دستی یک برنامه Next.js جدید، بستههای مورد نیاز را نصب کنید:
npm install next@latest react@latest react-dom@latestفایل package.json خود را باز کنید و scripts زیر را اضافه کنید:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
}این اسکریپتها به مراحل مختلف توسعه یک اپلیکیشن اشاره میکنند:
dev: دستورnext devرا اجرا میکند تا Next.js را در حالت توسعه راهاندازی کند.build: دستورnext buildرا اجرا میکند تا برنامه را برای استفاده در محیط عملیاتی (production) کامپایل کند.start: دستورnext startرا اجرا میکند تا یک سرور Next.js برای محیط عملیاتی راهاندازی کند.lint: دستورnext lintرا اجرا میکند تا از پیکربندی داخلی ESLint در Next.js برای بررسی و رفع خطاهای کد استفاده کند.
ایجاد دایرکتوری (پوشه) ها
Next.js از مسیریابی مبتنی بر سیستم فایل استفاده می کند، به این معنی که مسیرهای برنامه شما با نحوه ساختار پوشه هایتان تعیین می شود.
پوشه app
برای برنامههای جدید، استفاده از مسیریاب App را توصیه میکنیم. این مسیریاب به شما امکان میدهد از جدیدترین ویژگیهای React استفاده کنید و بر اساس بازخورد جامعه، تکاملیافتهی مسیریاب صفحات (Pages Router) است.
نکته: در این مستندات ما فقط بخش های مربوط به مسیریاب برنامه (App Router) رو آموزش میدیم، چرا که هدف ما آموزش Next.js نسخه +13 به بعد هست.
برای رندر شدن محتوا در ریشه برنامهی (/) Next.js، یک پوشه به نام app/ ایجاد کنید و سپس دو فایل layout.tsx و page.tsx را به آن اضافه کنید.

یک طرح بندی ریشه (root layout) داخل فایل app/layout.tsx با تگهای الزامی <html> و <body> ایجاد کنید:
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>{children}</body>
</html>
)
}در نهایت، یک صفحه اصلی به نام app/page.tsx با مقداری محتوای اولیه ایجاد کنید:
export default function Page() {
return <h1>Hello, Next.js!</h1>
}خوب است بدانید: اگر فراموش کنید فایل
layout.tsxرا بسازید، Next.js به طور خودکار این فایل را هنگام اجرای سرور توسعه با دستورnext devایجاد میکند.
در این باره بیشتر بدانید استفاده از App Router.
پوشه pages (اختیاری)
اگر به جای استفاده از مسیریاب App ، ترجیح میدهید از مسیریاب صفحات (Pages Router) استفاده کنید، میتوانید پوشهای به نام pages/ در ریشه پروژه خود ایجاد کنید.
سپس یک فایل index.tsx در داخل پوشه pages اضافه کنید. این فایل، صفحه اصلی وبسایت شما (/) خواهد بود.
export default function Page() {
return <h1>Hello, Next.js!</h1>
}نکته: در این مستندات ما فقط بخش های مربوط به مسیریاب برنامه (App Router) رو آموزش میدیم، چرا که هدف ما آموزش Next.js نسخه +13 به بعد هست. پس ادامه این بخش را ذکر نمی کنیم.
next.js ، برای تعریف چیدمان کلی برنامه، یک فایل با نام _app.tsx داخل پوشه pages/ اضافه کنید. برای اطلاعات بیشتر در مورد فایلهای برنامه سفارشی، به مستندات Next.js مراجعه کنید.
import type { AppProps } from 'next/app'
export default function App({ Component, pageProps }: AppProps) {
return <Component {...pageProps} />
}نهایتا، برای کنترل پاسخ اولیه از سرور، یک فایل با نام _document.tsx داخل پوشه pages/ اضافه کنید. برای اطلاعات بیشتر در مورد فایل سند سفارشی، به مستندات Next.js مراجعه کنید.
import { Html, Head, Main, NextScript } from 'next/document'
export default function Document() {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
)
}درباره استفاده از مسیریاب صفحات بیشتر بیاموزید.
خوب است بدانید: با اینکه میتونین از هر دو روتر در یک پروژه استفاده کنین، مسیرهای تعریف شده در پوشه
appاولویت دارن. برای پروژههای جدید توصیه میشه فقط از یک روتر استفاده کنین تا از سردرگمی جلوگیری بشه.
پوشه public (اختیاری)
برای ذخیره منابع استاتیک مانند تصاویر، فونتها و غیره، پوشه ای به نام public ایجاد کنید. فایلهای داخل پوشه public بعدا میتوانند توسط کد شما با یک اسلش ابتدایی (/) به عنوان آدرس پایه، فراخوانی شوند.
راهاندازی سرور توسعه
- برای راهاندازی سرور توسعه، دستور
npm run devرا اجرا کنید. - برای مشاهدهی اپلیکیشن به آدرس
http://localhost:3000در مرورگر خود مراجعه کنید. - هر تغییری که در فایل
app/page.tsx(یاpages/index.tsx) اعمال کنید و ذخیره کنید، نتیجهی بهروزرسانی شده را در مرورگر خود مشاهده خواهید کرد.