2

我是 gulp 和 uncss 的新手,我不确定我的逻辑是否有缺陷,或者我需要的东西是否不可能。

我希望 uncss 忽略一系列以特定字符串为前缀的 CSS 规则,但它们的声明中链接了许多复合选择器。

我知道我们可以在ignore声明中使用正则表达式,并且我正在使用正则表达式来希望忽略所有以我的前缀开头的规则。但我不确定忽略中的正则表达式是否仅涵盖选择器中的一个类,还是整个规则。

例如,我希望 gulp-uncss 忽略所有以 .foo 为前缀的 CSS 规则

.foo .bar {...}
.foo-baz {...}
.foo-ballz .bazzie:hover {...}

还有我的 gulp-uncss 规则(这似乎没有按预期工作)

.pipe(uncss({
     html: ['index.html'],
     ignore: ['/^.foo/']
}))

事情编译正常,但我似乎失去了一些(但不是全部)需要的 CSS。我可能错过了什么?谢谢!

4

2 回答 2

4

我想我解决了我自己的问题。在我们的忽略语句中,我发现您不必将正则表达式括在引号中。

所以:

.pipe(uncss({
     html: ['index.html'],
     ignore: [/^\.foo/]
}))

对我来说似乎工作正常!

于 2015-03-22T23:54:09.120 回答
1

或者,您可以在选择器之前使用忽略注释:

/* uncss:ignore */

但是,我更喜欢你的回答。我正在努力解决同样的问题,并在这里遇到了你的问题。

于 2015-10-30T18:58:24.903 回答