Next.js stöder flera distributionsmål, delvis kontrollerade av konfigurationen output. Det rätta valet beror på om du behöver Node-servern, behållare eller ren statisk hosting.
Byggeutgångens lägen
. = {
};
Kör en Node.js-server, så du får allt: SSR, ISR, Server Actions, Route Handlers, bildoptimering, middleware. Detta är vad plattformar som Vercel (skaparen av Next.js, noll-config) och Node-värdar använder.
# 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 producerar en minimal mapp med endast de beroenden som faktiskt används, perfekt för små Docker-bilder på AWS, GCP, dina egna servrar osv. Du behåller alla serverfunktioner.
next build → out/ (plain HTML/CSS/JS, deployable to any static host: S3, GitHub Pages, Netlify CDN)
Statisk export ger den billigaste, enklaste värdningen men inaktiverar serverfunktioner: ingen SSR, ingen ISR, inga Route Handlers, inga Server Actions, ingen bildoptimering on-the-fly. Passar bara för helt statiska webbplatser.
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
Distribution är inte en storlek för alla: output-läget bestämmer vilka Next.js-funktioner som överlever.
Att veta att standard/Node-utgången behåller alla serverkapaciteter, standalone paketerar dem för Docker/egenvärd, och export byter alla serverfunktioner för ren statisk värdning låter dig matcha bygget med din infrastruktur — och undvika fällan att output: "export" tyst bryter SSR/ISR/Server Actions.