Algo así como una pregunta sencilla que no parece tener una respuesta muy clara en los documentos de PostCSS . Me di cuenta de que en la Guía de uso de PostCSS definen los complementos del archivo postcss.config.js usando declaraciones requeridas como esta:
// postcss.config.js module.exports = { plugins: [ require('precss'), require('autoprefixer') ] } Sin embargo, otros ejemplos de PostCSS, como los documentos de PostCSS CLI que explican la forma de función de postcss.config.js , usan una sintaxis diferente para los complementos.
module.exports = (ctx) => ({ map: ctx.options.map, parser: ctx.options.parser, plugins: { 'postcss-import': { root: ctx.file.dirname }, cssnano: ctx.env === 'production' ? {} : false, }, })Y también hay otros tutoriales en línea que siguen esta sintaxis.
module.exports = { plugins: { "postcss-import": {}, "postcss-preset-env": {} } }; Supongo que mi pregunta es... ¿Por qué los complementos se definen usando una matriz de require('<name>') en un lugar y usando un objeto con clave que usa objetos vacíos como valores {} en otro? ¿Hay alguna diferencia funcional? ¿Es uno mejor que el otro?