0

使用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'],
    }]
  },
},
4

0 回答 0