1
turing 2013-09-03 15:39:39 +08:00 1
这个问题挺复杂的,涉及的不是在某一个页面上找出没有被使用到的样式,而是在所有项目中引用了某一个样式表的页面上找出没有被一个页面所使用到的样式的问题。因为样式表不会像js那样如此模块化的管理,所以我们需要先找出一个项目中的所有样式和所有页面的对应和交叉关系。当涉及到前端并不是直接维护css,而用less或者sass维护的话,定位到编译这个css的源文件的相对位置又是一件麻烦事。
所以一直处在想做但是觉得成本太高没做的情况下。 |
2
lingyired 2013-09-03 15:42:07 +08:00
太复杂了
特别是多人开发的时候 |
3
lingyired 2013-09-03 15:43:29 +08:00
而且这样的工具也很难工作,有些元素是要通过js 生成的,就难检测到
|
4
gangsta OP @turing 谢回复.
没那么复杂的需求,目前我只需要单个页面而已. 实际上Chrome的工具也是只针对当前页面而非项目级. 既然已经找出来了,剩下的事应该就是文本差异的比较了 搜索了下Unix下好像有diff和类似的工具,不过本人小白 https://gist.github.com/tingletech/3977356 |
5
turing 2013-09-03 15:47:16 +08:00
|
6
turing 2013-09-03 15:49:33 +08:00
要抽象成树的,不能简单通过diff来删除,设想一个场景,当你的页面没有用到 .abc 这个 class的时候,css中匹配abc这个class的子代和孙代样式都应该被删除。将css抽象成树,可以看看我之前的同事柳钦写的 peaches:
https://github.com/sliuqin/peaches |