javascript - 清理无用js
PHPz
PHPz 2017-04-11 10:02:20
0
12
1086

原因:
由于项目历史原因改来改去,经手人多而杂,一个页面有大概35+的js请求,本人是后端开发人员,需要修改velocity模板代码,对前端开发以及工具不是很了解

问题:
请问下有什么工具可以清理出和该页面无关的js

例如:

我想知道哪个js文件和该页面无关,也就是该页面没有调用其所包含的js中的函数

类似:
chrome有个audits可以找到无用的css,但是js有木有这样的工具

跟进:
使用unusedjs已经成功,还可以找到未调用的函数,能够做一个简单的侦测!谢谢大家,如果还有更好的解决方案,希望还可以继续提交^_^

PHPz
PHPz

学习是最好的投资!

全部回覆(12)
刘奇

https://github.com/gmetais/unusedjs
很久没更新了
还没有试过成功率怎么样

PHPzhong

每次删除一个,看页面报错不

洪涛

给推荐个工具吧 jscoverage。既然是前端人员服务器的话建议用http-server。原文推荐的是 apache或是 python
http://siliconforks.com/jscoverage/manual.html

检测js代码的测试覆盖率,能想到的可能最适合的工具了。
刚打开页面的时候看一下覆盖率,然后使用页面一段时间看覆盖率是否会增加。

左手右手慢动作

其实你只用查看最后面两个,前三个很明显了:

  1. jquery库,

  2. jquery封装的cookie库,
    3.jquery封装的滚动条优化库,

这三个都是别人写好的库,而不是后来开发者自己写的。
你只需要看后面两个的内容,应该不多!

Ty80

貌似没有这样的工具(目前没有发现)。
其实,如果出现大量的无效的js引用,或者没有用到也引用的情况,说明这个写代码的水平太差,应该考虑从这方面提高。

如果真要有,也是可以有的。可以使用node,grunt,gulp之类的开发一个模块,当然实现不是那么简单的,这个估计比require之类的模块处理还麻烦,因为require模块只需针对文件名,这个还得针对文件中的方法名,如果要检测的文件多了,估计效率不高,而且还容易进入死循环。还好设计A文件中有a方法,B文件中也有a方法,到底是A文件的,还是B文件的呢?
想想都觉得,还是提高写程序素养比较划算。

PHPzhong

我暂时没见过这样的工具。

因此需要在前端代码构建的时候下点功夫啦。

一般来说,js代码都是要压缩的,我们在做项目的时候会通过require + gulp来设计代码依赖,压缩,打包,将一个页面需要的所有js压缩到一个或者尽量少个数的js文件中。

伊谢尔伦

蟹妖。
不太知道有很靠谱又安全的工具。
你说到的 css 的话做起来比较简单,直接扫选择器即可知道样式是否会被使用到(当然,动态添加的东西还是不准)。js 的话就比较麻烦了。
你现在想做的话,可能删除一个然后测试会更快一点。当然,如果体积不大,只是为了减少请求数量的话,合并请求即可(我觉得你这样做效率比较高)。

洪涛

没见过这类功能的工具,可以看插件明看看是干什么用的,然后酌情删掉吧

阿神

目前的技术手段如果想清理dead code,那需要类似rollup之类的分析、打包工具。

但这里面有一个问题,就是这类工具都是基于静态分析来完成dead code clean up的,但看的网站构成,应该是历史遗留项目,遗留项目有个最大的问题,就是经手人多、代码无明确规范、当然也不可能完成所谓的静态分析工作了。

注意,这里指的静态分析,还必须得是遵循ES2015的module规范才可以

阿神

谢邀。如果单从减少请求这方面来说,最好的就是把js打包成一个bundle,如果要清理JS的话,目前来看,工具可能做得都不太好,手动清理比较可靠,但是花时间。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!