Capítulo 317 de 456
Next.js compila CSS via PostCSS com um conjunto default de transformações (autoprefixer, fix de flexbox, features pra IE11); criar um postcss.config.json/.js customizado desativa completamente esse default, exigindo reconfiguração manual.
all, break properties, font-variant, gap, media query ranges). CSS Grid e Custom Properties (variáveis CSS) não são compilados pra IE11 por padrão./* autoprefixer grid: autoplace */ no topo do arquivo CSS, ou config global de autoprefixer com grid: 'autoplace'.browserslist no package.json controla quais browsers o Autoprefixer/features alvo..module.css.postcss.config.json (ou .postcssrc.json, ou chave postcss no package.json) desativa totalmente o comportamento default; é preciso reconfigurar manualmente tudo que se precisa, inclusive Autoprefixer, e instalar os plugins usados.postcss.config.js: alternativa que permite incluir plugins condicionalmente por ambiente (NODE_ENV); plugins devem ser passados como strings, nunca via require().postcss.config.js também precisa servir outras ferramentas não-Next.js no mesmo projeto.{
"plugins": [
"postcss-flexbugs-fixes",
[
"postcss-preset-env",
{
"autoprefixer": { "flexbox": "no-2009" },
"stage": 3,
"features": { "custom-properties": false }
}
]
]
}
module.exports = {
plugins:
process.env.NODE_ENV === 'production'
? ['postcss-flexbugs-fixes', ['postcss-preset-env', { autoprefixer: { flexbox: 'no-2009' }, stage: 3, features: { 'custom-properties': false } }]]
: [],
}
postcss.config.json custom sem reincluir Autoprefixer: perde o comportamento default inteiro, incluindo prefixos de vendor.require() pra importar plugins no postcss.config.js: plugins precisam ser strings, não referências de módulo importado.postcss.config.js precisam ser strings, nunca require().package.json controla o alvo de compatibilidade de Autoprefixer e features CSS.