Capítulo 324 de 456
output: 'export' gera um site estático (HTML/CSS/JS por rota) que pode ser hospedado em qualquer servidor de arquivos estáticos, sem Node.js, útil para começar como SPA/site estático e evoluir depois.
output: 'export': opção em next.config.js que ativa o modo de export estático.trailingSlash: opcional, transforma /me em /me/ e emite /me.html como /me/index.html.skipTrailingSlashRedirect: evita o redirect automático /me → /me/, preservando o href original.distDir: muda o diretório de saída (padrão out).const nextConfig = {
output: 'export',
images: {
loader: 'custom',
loaderFile: './my-loader.ts',
},
}
export default function cloudinaryLoader({ src, width, quality }: { src: string; width: number; quality?: number }) {
const params = ['f_auto', 'c_limit', `w_${width}`, `q_${quality || 'auto'}`]
return `https://res.cloudinary.com/demo/image/upload/${params.join(',')}${src}`
}
| Suportado | Não suportado |
|---|---|
Dynamic Routes com getStaticPaths | Internationalized Routing |
Prefetching com next/link | API Routes |
| Dynamic Imports | Rewrites / Redirects / Headers (config) |
| CSS Modules, styled-jsx | Proxy |
| Client-side data fetching | Incremental Static Regeneration |
getStaticProps / getStaticPaths | Image Optimization com loader padrão |
| — | Draft Mode |
| — | getStaticPaths com fallback: true ou 'blocking' |
| — | getServerSideProps |
| Versão | Mudança |
|---|---|
v14.0.0 | next export removido em favor de "output": "export" |
v13.4.0 | App Router estável adiciona suporte aprimorado (RSC, Route Handlers) |
v13.3.0 | next export deprecado, substituído por "output": "export" |
getServerSideProps ou API Routes esperando export estático funcionar: não são suportados; requerem servidor Node.next/image não otimiza nada em static export.out/, deployável em qualquer host estático (inclusive GitHub Pages).getServerSideProps) fica fora do escopo.try_files e rewrites manuais para rotas dinâmicas sem trailingSlash: true.next export como comando separado foi removido desde a v14; hoje é sempre via output: 'export'.