Capítulo 232 de 456

prefetchInlining

Core Idea

Controla se o App Router agrupa (inlines) respostas pequenas de prefetch de segmentos numa única resposta, reduzindo número de requisições de prefetch às custas de alguma duplicação de dados compartilhados entre rotas. Habilitado por padrão; a maioria dos apps não precisa mexer.

Key Concepts

  • experimental.prefetchInlining: true (padrão) inlina com thresholds default; false desabilita (cada segmento vira sua própria requisição); um objeto customiza os thresholds.
  • O comportamento de inlining em si é permanente no App Router — só a config experimental.prefetchInlining é experimental.
  • maxSize (default 2048 bytes): maior tamanho que um único segment response pode ter para ser elegível a inlining (gzip-compressed).
  • maxBundleSize (default 10240 bytes): maior tamanho total inlinável num bundle de prefetch por caminho.
  • Thresholds menores preservam mais deduplicação por segmento; thresholds maiores inlinam mais dados e cortam mais requisições.

Code Examples

import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
  experimental: { prefetchInlining: { maxSize: 2048, maxBundleSize: 10240 } },
}
export default nextConfig
  • O que demonstra: override explícito dos dois thresholds (valores padrão mostrados aqui).

Reference Tables

ValorDescrição
trueInlina com thresholds default (padrão)
falseDesabilita inlining; cada segmento é sua própria requisição
objectInlina usando maxSize/maxBundleSize customizados

Version History

VersãoMudança
16.3.0experimental.prefetchInlining habilitado por padrão.
16.2.0experimental.prefetchInlining adicionado.

Key Takeaways

  1. Útil principalmente para debugar problemas de navegação ou medir volume de requisições, não para uso rotineiro.

Connects To

  • partialPrefetching (ch230): ambos afetam o comportamento de prefetch de rota no App Router.