Capítulo 207 de 456
experimental.cssChunking controls how Next.js splits and reorders CSS files into chunks so a route loads closer to only the CSS it needs — tune it when you see excess unused CSS or ordering bugs.
true (default, webpack+Turbopack): merges CSS files when possible, inferring dependencies from import order to reduce chunk/request count.false (webpack only): no merging/reordering; each import stays as-is.'strict' (webpack only): loads CSS in exact import order — more chunks/requests, but avoids ordering bugs between files with implicit dependencies.'graph' (Turbopack only): cost-based graph algorithm that groups CSS across routes, balancing bytes vs. requests via requestCost and weightDistribution.requestCost (default 20000): estimated byte cost of one extra CSS request; higher = fewer, larger merged chunks.weightDistribution (default 0.1): how a shared chunk's cost is distributed across routes weighted by how much CSS each imports; 0 = every route weighted equally, higher = routes with less CSS protected more.import type { NextConfig } from 'next'
const nextConfig = {
experimental: {
cssChunking: 'graph',
},
} satisfies NextConfig
export default nextConfig
graph (só Turbopack).const nextConfig = {
experimental: {
cssChunking: {
type: 'graph',
requestCost: 100000,
weightDistribution: 0.1,
},
},
} satisfies NextConfig
requestCost/weightDistribution do modo graph.| Valor | Bundler | Comportamento |
|---|---|---|
true (default) | webpack e Turbopack | mescla CSS pra reduzir chunks/requests |
false | webpack apenas | não mescla nem reordena |
'strict' | webpack apenas | carrega na ordem exata de import |
'graph' | Turbopack apenas | agrupamento por grafo de custo |
true) já é a escolha certa em ambos bundlers.:hover/:focus/classes toggladas via JS como "não usadas" até serem disparadas — não tire conclusões precipitadas do relatório.graph por performance (reduzir CSS não usado por rota); em webpack, mude pra 'strict' por correção (bugs de ordem de import).requestCost decide o ponto de corte entre mesclar (menos requests) e separar (menos bytes não usados).cssChunking.