يدعم Next.js عدة أهداف نشر، يتم التحكم فيها جزئياً بواسطة إعدادات output. يعتمد الاختيار الصحيح على ما إذا كنت بحاجة إلى خادم Node أو الحاويات أو الاستضافة الثابتة البحتة.
أنماط مخرجات البناء
. = {
};
يدعم Next.js عدة أهداف نشر، يتم التحكم فيها جزئياً بواسطة إعدادات output. يعتمد الاختيار الصحيح على ما إذا كنت بحاجة إلى خادم Node أو الحاويات أو الاستضافة الثابتة البحتة.
. = {
};
يقوم بتشغيل خادم Node.js، لذا تحصل على كل شيء: SSR و ISR و Server Actions و Route Handlers وتحسين الصور والوسيط. هذا ما تستخدمه منصات مثل Vercel (مصنع Next.js، بدون إعدادات) وأجهزة استضافة Node.
# Next traces only the needed files into .next/standalone → a tiny, self-contained server
COPY --from=builder /app/.next/standalone ./
CMD ["node", "server.js"]
standalone ينتج مجلداً دقيقاً يحتوي على الاعتماديات المستخدمة فقط، وهو مثالي لصور Docker صغيرة على AWS و GCP وخوادمك الخاصة، إلخ. تحتفظ بجميع ميزات الخادم.
next build → out/ (plain HTML/CSS/JS, deployable to any static host: S3, GitHub Pages, Netlify CDN)
يوفر التصدير الثابت الاستضافة الأرخص والأبسط لكنه يعطل ميزات الخادم: لا SSR، لا ISR، لا Route Handlers، لا Server Actions، لا تحسين صور فوري. مناسب فقط للمواقع الثابتة بالكامل.
Need SSR/ISR/Server Actions, want zero-config → Vercel (or a Node host) — default output
Want containers / self-host with full features → output: "standalone" + Docker
Purely static content (docs, marketing) → output: "export" → any static CDN
- Runtime choice (Edge vs Node) affects where functions run
- Self-hosting ISR/caching needs persistent storage or a shared cache
- Image optimization on non-Vercel hosts may need a custom loader
النشر ليس حلاً واحداً يناسب الجميع: يحدد نمط output أي ميزات Next.js تبقى.
معرفة أن مخرجات default/Node تحافظ على جميع قدرات الخادم، و standalone تقوم بحزمها لـ Docker/الاستضافة الذاتية، و export تتبادل جميع ميزات الخادم للاستضافة الثابتة البحتة تتيح لك مطابقة البناء مع البنية التحتية الخاصة بك — وتجنب فخ output: "export" الذي يعطل SSR/ISR/Server Actions بصمت.