Next.js podpira več ciljev dostave, delno nadzorovanih s konfiguracijo output. Prava izbira je odvisna od tega, ali potrebujete Node strežnik, vsebnik ali čisto statično gostovanje.
Načini izhoda sestave
. = {
};
Zaženete Node.js strežnik, zato dobite vse: SSR, ISR, Server Actions, Route Handlers, optimizacijo slik, middleware. To je tisto, kar uporabljajo platforme, kot je Vercel (ustvarjalec Next.js, brez konfiguracije) in gostitelji 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 proizvede minimalno mapo le z dejansko uporabljenimi odvisnostmi, idealno za majhne Docker slike na AWS, GCP, vaših lastnih strežnikih itd. Ohranite vse funkcije strežnika.
next build → out/ (plain HTML/CSS/JS, deployable to any static host: S3, GitHub Pages, Netlify CDN)
Statični izvoz daje najcenejše, najpreprostejše gostovanje, vendar onemogoči funkcije strežnika: ni SSR, ni ISR, ni Route Handlers, ni Server Actions, ni optimizacije slik na zahtevo. Primerno le za popolnoma statične strani.
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
Dostava ni enodimenzionalna: način output določa, katere zmožnosti Next.js ostanejo.
Znano je, da privzeti/Node izhod ohrani vse zmožnosti strežnika, standalone jih pakira za Docker/lastno gostovanje, in export zamenja vse funkcije strežnika za čisto statično gostovanje, kar vam omogoči, da izhod prilagodite svoji infrastrukturi — in se izognete pasti, da output: "export" tiho prekine SSR/ISR/Server Actions.