Capítulo 335 de 456
Guia de upgrade de Next.js 10 para 11: Webpack 5 vira default, várias APIs deprecated são removidas, e a base de React sobe para 17.0.2.
cleanDistDir: novo default limpa .next a cada build (exceto caches); desativável com cleanDistDir: false.PORT env var: suportada por next dev/next start como alternativa a -p.images.disableStaticImages: opção para desabilitar o novo suporte nativo a static image imports (substitui next-images/next-optimized-images).excludeDefaultMomentLocales: exclui locales do Moment.js por default para reduzir bundle; default true.router.events fora de render: agora só disponível dentro de useEffect, não durante prerender.distDir limpo automaticamente a cada build.PORT env var.next/image.super.componentDidCatch() de _app.js, Container de next/app, props.url, unsized prop de next/image (usar layout="fill"), modules/render de next/dynamic, Head.rewind.import React).npm i next@11 react@17 react-dom@17
module.exports = {
images: {
disableStaticImages: true,
},
}
useEffect(() => {
const handleRouteChange = (url, { shallow }) => {
console.log(`App is changing to ${url} ${shallow ? 'with' : 'without'} shallow routing`)
}
router.events.on('routeChangeStart', handleRouteChange)
return () => {
router.events.off('routeChangeStart', handleRouteChange)
}
}, [router])
router.events, agora restrito a useEffect.router.router.events: propriedade interna não-pública removida; usar router.events..container span para next/image: pode colidir com o novo <span> wrapper introduzido nesta versão (mudança completada na v12).add-missing-react-import corrige código que dependia do import global implícito.cleanDistDir pode quebrar workflows que dependiam de artefatos residuais em .next.add-missing-react-import resolve a migração do JSX Transform.next/image wrapper element.