Next.js را میتوان به روشهای مختلف دیپلوی کرد:
| روش دیپلوی | پشتیبانی ویژگیها |
|---|---|
| سرور Node.js | کامل |
| کانتینر Docker | کامل |
| خروجی استاتیک | محدود |
| آداپترها | وابسته به پلتفرم |
برای دیپلوی روی سرور Node.js، مطمئن شوید فایل package.json شامل اسکریپتهای زیر باشد:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
}
}سپس با اجرای npm run build اپلیکیشن را build کرده و با npm run start سرور را اجرا کنید. این روش از تمام ویژگیهای Next.js پشتیبانی میکند.
پلتفرمهای پیشنهادی: Flightcontrol، Railway، Replit
Next.js را میتوان در هر پلتفرمی که از Docker پشتیبانی میکند دیپلوی کرد، از جمله Kubernetes یا سرویسهای ابری.
نکته توسعه: در محیطهای Mac و Windows، برای توسعه بهتر از npm run dev بهجای Docker استفاده کنید.
پلتفرمهای پیشنهادی: Docker، DigitalOcean، Fly.io، Google Cloud Run، Render، SST
Next.js امکان خروجیگیری بهصورت سایت استاتیک یا SPA را فراهم میکند. این خروجی را میتوان روی هر سروری که فایلهای HTML/CSS/JS را سرو میکند دیپلوی کرد.
پلتفرمهای پیشنهادی: AWS S3، Nginx، Apache، GitHub Pages
محدودیت: ویژگیهایی که نیاز به سرور دارند در این حالت پشتیبانی نمیشوند.
Next.js را میتوان با آداپترهای خاص برای پلتفرمهای مختلف اجرا کرد. برای اطلاعات دقیق، به مستندات هر پلتفرم مراجعه کنید:
در حال توسعه API آداپترهای دیپلوی هستیم تا همهٔ پلتفرمها بتوانند از آن استفاده کنند.
برای بروزرسانی به آخرین نسخه پایدار:
npx @next/codemod@latest upgrade latestیا بهصورت دستی نصب کنید:
pnpm i next@latest react@latest react-dom@latest eslint-config-next@latestبرای بروزرسانی به نسخه آزمایشی (canary):
npm i next@canaryویژگیهای موجود در canary:
Next.js انعطافپذیری بالایی در دیپلوی دارد. چه بخواهید از سرور Node.js، کانتینر Docker، خروجی استاتیک یا آداپترهای پلتفرمی استفاده کنید، میتوانید با توجه به نیاز پروژه و زیرساخت خود، بهترین گزینه را انتخاب کنید و همیشه با نسخههای جدید همگام بمانید.