Capítulo 336 de 456
Guia de upgrade de Next.js 11 para 12: troca do compilador Babel por SWC (Rust), HMR via WebSocket, e remoção de webpack 4 e da opção target.
.babelrc) faz Next.js fazer fallback automático para Babel.swcMinify: flag opt-in para usar SWC em vez de Terser na minificação (até 7x mais rápido); tornou-se default na 12.1.next/image: <img> passa a ser renderizado dentro de <span> em vez de <div>.target: deprecated em favor de Output File Tracing automático de dependências.next/image muda elemento wrapper de <div> para <span>./_next/webpack-hmr, renomeado para /_next/hmr no Next.js 16).target: 'serverless' deprecated, substituída por Output File Tracing.npm i next@12 react@17 react-dom@17 eslint-config-next@12
eslint-config-next.module.exports = {
swcMinify: true,
}
location /_next/webpack-hmr {
proxy_pass http://localhost:3000/_next/webpack-hmr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
.container span para estilizar next/image: agora colide com o wrapper <span>; usar classe específica como .container span.item..babelrc/Babel config customizado presente.next/image mudou o elemento wrapper duas vezes nesse período (div→span aqui; comportamento consolidado na v13).target: 'serverless' não tem mais efeito — usar Output File Tracing.next/image recebe o comportamento definitivo (renomeado para next/legacy/image).output config: substitui completamente target.