使用PostCSS搭配cssnano插件可高效安全压缩CSS,支持移除空格注释、合并声明、降级calc等;需安装postcss、cssnano及postcss-cli,配置postcss.config.js启用cssnano,并注意媒体查询合并与高风险选项慎用。
使用 PostCSS 压缩 CSS 是当前主流且高效的方式,核心在于搭配 cssnano 插件,它能安全地移除空格、注释、冗余规则,并支持高级优化(如合并重复声明、降级 calc 表达式等)。
在项目中安装 PostCSS 及压缩插件:
postcss-loader),无需单独调用 CLI在项目根目录创建 postcss.config.js,启用 cssnano:
module.exports = {
plugins: [
require('cssnano')({
preset: ['default', {
discardComments: { removeAll: true }, // 彻底删除注释
normalizeWhitespace: true, // 压缩空格与换行
reduceTransforms: true, // 简化 transform 值
}]
})
]
}
注意:cssnano 默认启用大量安全优化;preset: 'advanced' 可进一步激进压缩(慎用,可能影响兼容性)
直接压缩单个文件:
配合构建工具时(如 Webpack):
module.rules 中为 .css 文件添加 postcss-loader
cssnano 仅在生产环境启用(开发时禁用以保留可读性)cssnano 默认行为通常很安全,但需留意:
mergeMediaQueries)默认开启,可能改变断点
顺序——若布局异常,可在 cssnano 配置中关闭zindex 或 uniqueSelectors 等高风险选项,除非明确需要