移除多个bundle的死代码

Dead code removal for multiple bundles?

本文关键字:代码 bundle      更新时间:2023-09-26

我想解决的问题:

  • 我有多个捆绑的JS文件:head.js, footer.js, some-other-page.js
  • 如果我把这些都放在一个文件中,我可以很容易地检查死代码并删除它
  • 我希望仍然能够从每个较小的bundle中剥离站点范围的死代码。

愿意重做我的构建来做这个。什么好主意吗?

检查死代码的一个好方法是对项目进行单元测试,然后检查代码覆盖率,看看哪个部分从未使用过。有关代码覆盖率的更多信息,请参阅:https://www.jetbrains.com/webstorm/help/monitoring-code-coverage-for-javascript.html

如果你不使用单元测试,这可能需要你的代码重新工作,但这是一个很好的方法来分析你的代码的代码覆盖率,看到一些部分从未使用过(因此从你的代码中删除它们)

对于不是你的代码(例如jQuery),你可以使用grunt构建来删除你不使用的函数/方法。关于如何做到这一点,有一篇非常有趣的文章:http://developer.telerik.com/featured/trimming-jquery-grunt。例如,如果您不使用ajax从jQuery,你可以简单地这样做:grunt custom:-ajax。已知的库具有此功能,因此您可以随时构建它。

嗯,

好主意,但是为了便于理解,最好将它们分开,但是如果你想将它们组合起来,那么就使用转换成