Capítulo 227 de 456
Durante next build, o Next.js rastreia (Output File Tracing) quais arquivos cada página realmente precisa, permitindo deploys drasticamente menores; output: 'standalone' automatiza a cópia desses arquivos para uma pasta autocontida.
@vercel/nft para analisar estaticamente import/require/fs e determinar arquivos necessários por página. O servidor de produção também é rastreado, output em .next/next-server.js.nft.json..next/standalone com apenas os arquivos necessários (incluindo parte seletiva de node_modules), dispensando npm install no destino. Gera um server.js mínimo que substitui next start.server.js standalone NÃO copia public/ nem .next/static por padrão (idealmente servidos por CDN) — copiar manualmente se necessário./api/hello) e valores são glob patterns resolvidos a partir da raiz do projeto, para excluir arquivos incorretamente incluídos ou incluir arquivos que o tracing perdeu.module.exports = { output: 'standalone' }
cp -r public .next/standalone/ && cp -r .next/static .next/standalone/.next/
node .next/standalone/server.js
module.exports = {
outputFileTracingExcludes: { '/api/hello': ['./un-necessary-folder/**/*'] },
outputFileTracingIncludes: {
'/api/another': ['./necessary-folder/**/*'],
'/api/login/\\[\\[\\.\\.\\.slug\\]\\]': ['./node_modules/aws-crt/dist/bin/**/*'],
},
}
| Env var (server.js standalone) | Uso |
|---|---|
PORT | Porta do servidor |
HOSTNAME | Host, ex. 0.0.0.0 |
outputFileTracingExcludes/Includes só afetam rotas com trace de servidor: Edge Runtime e páginas totalmente estáticas não são afetadas.outputFileTracingRoot com outputFileTracingIncludes para trazer arquivos de fora da pasta do projeto.**/* na raiz do repo) para não inflar o trace.serverless (deprecated).