【问题标题】:Gulp/webpack css specificity removerGulp/webpack css 特异性去除器
【发布时间】:2018-09-17 00:27:27
【问题描述】:

嘿,我们有一大堆用 sass 构建的 6 年前的旧 CSS。

不幸的是,这一年来人们对这一切都有些发疯了,现在我们有了具有 15 个特异性级别的 sass。这意味着我们编译的压缩 CSS 非常庞大。

由于我们即将在 redux 中完全重建我们的网站,管理层不想花费资源来清理我们的 CSS,这是可以理解的。

我想作为一个快速解决方案,是否有一个 gulp/webpack 插件可以以编程方式清理构建管道中不需要的特定性?

【问题讨论】:

  • Postcss 是工具,我已经找到 [postcss-increase-specificity][1] 你可以尝试写减一,使用npmjs.com/package/specificity [1]:@ 987654322@
  • 顺便说一句,这不是一个小问题要解决,想想如果有div > div > div > div应该追加什么,你不能改变它。

标签: webpack sass gulp gulp-sass css-specificity


【解决方案1】:

我写了一些可以帮助解决这个问题的东西:]。 https://github.com/felixmosh/postcss-decrease-specificity

这个 postcss 插件减少了嵌套超过 options.depth(默认为 3)的体面类选择器的数量。

此插件支持多种场景:

  • .a .b .c .d -> .b .c .d
  • tag .a .b .c .d -> tag .b .c .d
  • #id .a .b .c .d -> #id .b .c .d
  • .a .b > .c -> .a .b > .c
  • .a .b .c .d .e > .f -> .c .d .e > .f

如需更多支持的案例,请查看tests

我知道这个插件并没有涵盖所有的情况,也不是很完美,但是有了PR我们可以让它更适合。

⚠️ 谨慎使用此插件,它可能会破坏您的设计。

【讨论】:

  • 太棒了,我今晚要在我们的网站上试试这个
猜你喜欢
  • 2012-08-04
  • 2021-07-11
  • 2014-05-12
  • 2017-11-10
  • 2013-09-26
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
  • 2010-12-28
相关资源
最近更新 更多