Javascript 删除多个捆绑包的死代码?

Javascript 删除多个捆绑包的死代码?,javascript,gulp,bundle,browserify,uglifyjs,Javascript,Gulp,Bundle,Browserify,Uglifyjs,我试图解决的问题: 我有多个捆绑的JS文件:head.JS、footer.JS、some-other-page.JS 如果我把这些都放在一个文件中,我就可以轻松地检查死代码并将其删除 我希望仍然能够从每个较小的捆绑包中剥离站点范围的死代码。 愿意重新工作我的建设来做到这一点。有什么想法吗?嗯 好主意,但为了理解目的,最好将其分开,但如果要合并,请使用switch检查死代码的一个好方法是对项目进行单元测试,然后检查代码覆盖率,看看哪个部分从未使用过。有关代码覆盖率的更多信息,请参见: 如果您没有使

我试图解决的问题:

我有多个捆绑的JS文件:head.JS、footer.JS、some-other-page.JS 如果我把这些都放在一个文件中,我就可以轻松地检查死代码并将其删除 我希望仍然能够从每个较小的捆绑包中剥离站点范围的死代码。 愿意重新工作我的建设来做到这一点。有什么想法吗?


好主意,但为了理解目的,最好将其分开,但如果要合并,请使用switch

检查死代码的一个好方法是对项目进行单元测试,然后检查代码覆盖率,看看哪个部分从未使用过。有关代码覆盖率的更多信息,请参见:

如果您没有使用单元测试,那么这可能也需要重新编写代码,但这是一种非常好的方法,可以分析代码的代码覆盖率,并查看某些部分从未使用过,从而从代码中删除它们


另外,对于不是您的代码,例如对于jQuery,您可以使用grunt构建来删除不使用的函数/方法。关于如何做到这一点的一篇非常有趣的文章是:。例如,如果您没有使用jQuery中的ajax,您可以简单地执行以下操作:grunt custom:-ajax。已知库具有此功能,因此您可以在运行中构建它。

我不知道您想说什么。您能否更具体地说明死代码的含义?你是说代码中有一部分没有被使用吗?@JohnSkoumbourdis-是的。假设我包含了jQuery和一个只执行$'div'的脚本。hide-80%的jQuery可以被剥离,各种工具可以删除死代码。现在假设我的head.js脚本中包含jQuery,页脚中包含愚蠢的hide语句。我再也不能去除死代码了。我不是在问我自己的代码,我是在问库代码。我可以剥离我不使用的库代码,但只有当它输出到单个包时。感谢您花时间回答,但这根本不能回答我的问题。正如我在问题中所说,我知道如何为单个捆绑包执行此操作,这不是问题所在。问题是如何跨多个bundle删除死代码。也许使用requireJS可以解决这个问题??我没有一个具体的解决方案给你。只是说。。。显而易见。也许你还没有考虑过使用requireJS。