output: 'export' build app thành HTML/CSS/JS tĩnh thuần trong thư mục out/, deploy được lên bất kỳ static host nào (S3, GitHub Pages, Nginx) — không cần Node server.
// next.config.js
module.exports = { output: 'export' }Hình dung: giống xuất một website ra file rồi bê đặt lên ổ đĩa — không còn server chạy logic.
Vì không có server runtime, những thứ sau KHÔNG dùng được:
- Server-side rendering động / cookies(), headers(), dynamic = 'force-dynamic'.
- Route Handlers chạy server (API routes) và Server Actions.
- ISR / on-demand revalidation — không có server để re-generate.
- Middleware, rewrites/redirects động, next/image với loader mặc định (phải dùng unoptimized hoặc loader ngoài).
- Dynamic routes phải khai báo trước qua generateStaticParams.
Khi nào dùng: site nội dung tĩnh, docs, landing — mọi data biết trước lúc build.