1. PostCSS 插件链(autoprefixer、postcss-preset-env)
PostCSS 插件链如何工作?autoprefixer 与 postcss-preset-env 在工程中的作用与差异是什么?
- PostCSS 用插件处理 CSS 语法
- autoprefixer 按浏览器列表加厂商前缀
- preset-env 编译新语法并聚合常用插件
PostCSS 是一个用 JS 插件转换 CSS 的工具链:插件把 CSS 解析为 AST 后做变换,再序列化输出。autoprefixer 根据 browserslist 配置自动为属性添加厂商前缀(如 -webkit-);postcss-preset-env 则将现代 CSS 语法(嵌套、逻辑属性、颜色函数等)编译为目标浏览器可理解的语法,并内置 autoprefixer 等能力。差异:autoprefixer 聚焦前缀,preset-env 聚焦新特性语法降级。工程上二者常配合,同时控制 browserslist 决定编译目标,配合 Lightning CSS 等可实现更快的同类能力。
考察 PostCSS 插件机制与两个核心插件的能力分工,属 CSS 构建工程题。回答时说明 PostCSS 插件机制与 browserslist 驱动,preset-env 管新语法、autoprefixer 管前缀的分工。
module.exports = {
plugins: {
'postcss-preset-env': { stage: 2 },
autoprefixer: {}
}
};