使用Grunt CSS min时,是否需要使用某种特殊语法来覆盖 Clean CSS 默认值?
查看文档,我可以成功地使“roundingPrecision”示例正常工作,但尝试覆盖其他 Clean CSS 规则对我不起作用。
我在下面给出了一个配置示例,我试图防止重复规则被删除(在这种情况下,我需要为不支持 CSS 变量的浏览器提供非 CSS 变量回退)。不过,这对我不起作用。
这是我的 Grunt 配置的 CSS Min 部分:
cssmin: {
options: {
removeDuplicateRules: false,
roundingPrecision: -1
},
prod: {
files: [{
expand: true,
ext: '.min.css',
src: ['<%= cssPath %>style.css'],
}]
},
},
使用上述配置,会发生以下情况:
.test {
background: red;
background: var(--colour-blue);
}
变成
.test{background:var(--colour-blue);}
但是,不应删除第二个背景规则。
我在另一个 StackOverflow 问题中注意到,似乎我可能需要针对 Clean CSS 的某些特定区域-<a href="https://stackoverflow.com/questions/29828059/use-clean-css-compatibility-options -in-grunt-contrib-cssmin">在 grunt-contrib-cssmin 中使用 clean-css 兼容性选项——但我不确定如何为其他属性(如“removeDuplicateRules: false”)执行此操作。
我猜我在做一些根本错误的事情。任何指示都会有所帮助——谢谢。
更新#2
正如建议的那样,我尝试如下使用尝试的“级别”选项,但没有成功:
cssmin: {
options: {
level: {
1: {
all: false
},
2: {
all: false
}
}
},
prod: {
files: [{
expand: true,
ext: '.min.css',
src: ['<%= cssPath %>style.css'],
}]
},
},