首页 > 有没有这样的工具可以帮助自动检测所使用的JS库中没有用到的类/方法等,然后自动删除呢?

有没有这样的工具可以帮助自动检测所使用的JS库中没有用到的类/方法等,然后自动删除呢?

原题

RT,因为有时候只是为了用某一个库/插件中的一部分功能,但是有的库里的功能又不是特别容易自己抽离出需要的部分(尤其有时候只是想临时用一下,对库的工作原理不是很清楚的情况下)。

不知 Grunt 或者 Gulp 里面有没有类似功能的插件呢? 我印象中 CSS 方面貌似有这样的工具,不知 JS 里面有没有?

10月4号更新

呃....今天在知乎上看到这篇文章,里面提到的一些内容和我这个问题似乎也有些关联,就贴在这里啦~
另外感谢目前为止的回答以及各位大大的评论,哈哈。


题主这个问题,我刚接触前端的时候也想过,哈哈~
不过当然是不可能实现的啦。:P
先说css部分。刚刚回了你问题下的一个评论:

css也同样不能实现,很多的DOM元素都是动态生成的,自然也就连带着样式也是动态生成的。
所以想要完成“去除无用css部分”在服务器端,和在浏览器端,都是不可能实现的。

首先谈谈在服务器端去跑完成这种功能的代码(先假设有),那么逻辑是怎样的呢?只是遍历所有html文件里找所有标签里的class属性后面的值?多种条件联合的样式选择器先不考虑(别的不说,就这一点,就很难做了,虽然这倒不是不能实现),单说很多脚本生成的元素,你就没办法控制。什么?再遍历所有的js文件?这动作就太大了吧。。你要考虑所有html文件引用了哪些js文件,然后再。。(说不下去了。。你当然可以在服务器上跑一遍js代码,但是你怎么判断哪些语句是生成DOM元素的,哪些语句是把生成的DOM元素追加到哪个页面的哪个位置的呢,想想就头疼)。所以这样的话,也根本不用再想如果这种代码在浏览器上跑的可行性了。

刚才光说css方面了,js忘了说。。

脚本啊,其实看看上面这些也应该有点了解了吧。。
js这种弱语言,实现一种功能有N多种写法,而且复杂程度很高。比如你可以看一下jQuery的源码。


其实楼主就是想要代码覆盖率检查工具,这种工具很多啊!

推荐一下
scriptcover: http://zhenghaoju700.blog.163.com/blog/static/1358595182013104724160
istanbul: http://www.ruanyifeng.com/blog/2015/06/istanbul.html

【热门文章】
【热门文章】