Ce face output: 'standalone' - Optimizarea pentru containere Docker ultra-mici
Un director `node_modules` complet poate ocupa lejer peste 500 MB – 1 GB de spațiu.
Activând output: 'standalone' în `next.config.js`, comanda `next build` analizează codul sursă și copiază în folderul `.next/standalone` doar modulele strict necesare pentru rulare la producție.
Rezultatul este un server web de sine stătător de sub 50 MB care poate fi rulat simplu cu `node server.js`, fără a mai avea nevoie de directorul complet `node_modules`.
Exemple
Exemplul 1: Activarea modului standalone pentru construirea imaginii Docker
Permite crearea de imagini Docker ușoare și sigure.
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'standalone',
};
module.exports = nextConfig;
Ieșire în terminal
La build se generează directorul .next/standalone/server.js.
Greșeli frecvente
- Uitarea de a copia folderele ‘public/’ și ‘.next/static/’ în containerul Docker final; modulul standalone copiază doar codul Node.js, activele statice trebuind copiate separat.
Comenzi înrudite
next build - Compilarea și optimizarea aplicației pentru producție: Compilează codul TypeScript/React, generează paginile statice și creează pachetele JS optimizate în directorul .next/.next start - Pornirea serverului de producție: Lansează serverul Node.js optimizat pentru deservirea pachetului compilat anterior prin next build.next.config.js - Fișierul principal de configurare Next.js: Centralizează setările avansate ale compilatorului, modulelor externe, regulilor de redirecționare și mediului de rulare.