有没有办法在不重命名的情况下在闭包编译器中启用死代码消除?



我想检查某些代码是否被闭包编译器消除的死代码,但是当所有内容都重命名时,这很难做到。

看起来"高级优化"支持重命名和 DCE,没有任何粒度。

有没有办法实现标题中的问题?

最简单的方法是使用 --debug 标志,如下所述:

https://github.com/google/closure-compiler/wiki/Flags-and-Options

这使用备用重命名方案,该方案保留原始名称作为新名称的一部分。 这对于尝试了解作为高级优化的一部分将重命名和不重命名的内容也很有用。

否则,使用 Java API 可以完全控制运行的优化,并直接使用 CompilerOptions#setRenameingPolicy 禁用重命名[1]

[1] https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/CompilerOptions.java#L1565

最新更新