检测链接&;未使用的文件和未使用的JavaScript

检测链接&;未使用的文件和未使用的JavaScript,javascript,jquery,Javascript,Jquery,我刚刚完成了我的网站,这是我两年前创建的。我一直在尝试新的东西,有时包括添加不同的框架或其他外部JS文件 现在我不知道JS的哪些链接文件/行是未使用的。是否有一个工具可以检测这些文件和代码行?这会节省我很多时间。对于这个答案,我不确定它是否有用。试试声纳怎么样。Sonar有一个javascript插件,可以检查您的js代码质量并列出未使用的代码。过去几周,我自己也在研究一个类似的任务,最终得到以下查询: 首先,它递归地选择项目目录中的所有.aspx和.ascx文件,然后查找引用.js文件(可能是

我刚刚完成了我的网站,这是我两年前创建的。我一直在尝试新的东西,有时包括添加不同的框架或其他外部JS文件


现在我不知道JS的哪些链接文件/行是未使用的。是否有一个工具可以检测这些文件和代码行?这会节省我很多时间。

对于这个答案,我不确定它是否有用。试试声纳怎么样。Sonar有一个javascript插件,可以检查您的js代码质量并列出未使用的代码。

过去几周,我自己也在研究一个类似的任务,最终得到以下查询:

首先,它递归地选择项目目录中的所有.aspx和.ascx文件,然后查找引用.js文件(可能是脚本元素的文件)的
src
属性值,并跟踪不同的值-瞧,您有一个项目中引用的.js文件列表

调整查询以使其适合您的特定项目及其结构是相当简单的。确保不要迭代可能包含过时引用的过时文件。考虑标记的不一致性-您过去是否对属性值使用了单引号,或者在“equals”符号周围留下了不必要的空格,或者两者都有?您可以从另一个js文件中以编程方式或异步方式包含这些文件吗?等等。

answer提供了一些功能,在缩小和连接JavaScript代码的过程中,可以删除“死代码”

对于编译级别,引用来自:

使用高级_优化进行编译将删除可证明无法访问的代码。这在与大型库结合使用时特别有用。如果只使用大型库文件中的几个函数,编译器可以从其输出中删除除这些函数以外的所有函数


另请参阅其中包含的有关谷歌闭包编译器的更多信息。

我有这个需要,所以我创建了一个工具,不仅从源代码检测浏览器端未使用的JS,因此它还可以测试第三方脚本

它的工作原理是在您的计算机上创建一个本地代理,该代理拦截JavaScript请求并动态插入这些文件。该工具能够检测页面使用了插入指令的文件的哪些部分,哪些没有使用


我将其开源,您可以在这里找到:。

在Google Chrome开发者工具中,您现在可以在“源代码”选项卡上查看“覆盖率”,以按每个文件的百分比显示未使用的Javascript和CSS,甚至可以逐行显示

以下是2017年的预测


虽然这是一个很老的问题,但这可能有助于解决此类问题-


我写这篇文章是为了在我的项目中使用。

对于CSS,google chrome的webkit开发者工具会显示未使用的样式。至于javascript,我正在等待答案too@BrunoVieiraOP不是询问未使用的样式,而是询问未使用的javascript文件,这些文件位于目录树中,但未从任何页面引用。还要注意的是,要处理的页面不止一个,而是一个完整的应用程序。这就是为什么我没有回答,而是做了一个评论,因为如果不是他对其他人来说,这可能是有用的@AleksG@BrunoVieira看看有没有问题approach@BrunoVieira:是的,我用这个工具。所以我搜索了一些类似的东西…我发现有人在谈论这个,也许它可以帮你。谢谢你的回答。我也发现这个问题是这样的。但它搜索的代码质量如下:它是在最新的标准上,有多少是注释。。。问题是,他也分析未使用的代码,但不显示它是否在使用中…嘿!可以看起来很复杂。我星期天试试…我会回来的嘿!谢谢你的链接。我还没来得及阅读文档,我的第一次“肮脏”尝试真的让人困惑。。。我在星期天试一试……我会向你报告迟交的答案。这一周很辛苦。我尝试了你的解决方案,它的工作方式是我想要的:)非常感谢+1(已接受:)
PS> Get-ChildItem -Path C:\PathToProject\ -Filter *.as?x -Recurse 
| select-string -pattern "src=""([^""]*.js)""" 
| Select -Expand Matches | Foreach { $_.Groups[1].Value } | select -unique