Google Closure Compiler:通过设置CompilerOptions删除无效代码

里阿里

我正在尝试通过设置相应的字段来配置Google Closure编译器的CompilerOptions。但是,当我调用方法setRemoveDeadCode()激活简单模式下的死代码删除时,只会报告警告“无法访问的代码”,而不会删除死代码。这是为什么?

代码如下:

if (false) console.log(x);  //dead code which should be removed

我所做的只是在方法createOptions()的末尾激活setRemoveDeadCode(),而停用其他选项。在其他选项(例如setCoalesceVariableNames())上执行相同的操作也可以正常工作。任何见解将不胜感激。

约翰

RemoveDeadCode选项将触发一次检查副作用和控制流图的过程。您可以通过查看单元测试来查看其功能:

https://github.com/google/closure-compiler/blob/a1488d59c11fd535ded79d37c11cd418927782ce/test/com/google/javascript/jscomp/UnreachableCodeEliminationTest.java

它不查找常量值。但是,还有另一个选项“ Fold Constants”(通过setFoldConstants),它将删除if具有恒定条件的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Closure编译器服务提供了无效的代码

来自分类Dev

使用Google Closure编译器删除调试代码

来自分类Dev

阻止从Google Closure Compiler更改某些字符串?

来自分类Dev

Google Closure Editor插件

来自分类Dev

如何在Google Closure中以编程方式设置边框

来自分类Dev

如何制作Google Closure插件

来自分类Dev

Google Closure库发布管理

来自分类Dev

Google Closure外部依赖项

来自分类Dev

为Google Closure Compiler注释“任何类型的零个或多个参数”

来自分类Dev

为什么Google Closure Compiler使用null == a而不是a == null进行优化?

来自分类Dev

为什么Google Closure Compiler在扩展Date()的ES6对象上失败?

来自分类Dev

重新格式化javascript以适应google-closure-compiler的命名空间展平

来自分类Dev

如何在Google Closure Compiler中启用标头字符串文字声明?

来自分类Dev

如何告诉Google Closure删除未使用的变量初始化?

来自分类Dev

Google Closure开源项目的未来

来自分类Dev

来自Google Closure编译文件的TypeError

来自分类Dev

使用Google Closure从LabelInput访问数据

来自分类Dev

使用 Google Closure 进行项目范围的混淆

来自分类Dev

如何使用 ajax 获取 Google Closure 响应

来自分类Dev

Closure Compiler-使用jQuery和Closure进行混合编译的源代码

来自分类Dev

Closure Compiler-使用jQuery和Closure进行混合编译的源代码

来自分类Dev

我可以在Google Closure中为枚举定义接口吗?

来自分类Dev

Google Closure编译器中的高级编译

来自分类Dev

如何解决Google Closure名称空间的地狱?

来自分类Dev

了解Clojurescript与Google Closure编译器之间的关系

来自分类Dev

使用Google Closure编译器Java API

来自分类Dev

将插件添加到Google Closure编辑器

来自分类Dev

如何解决Google Closure名称空间的地狱?

来自分类Dev

Google Closure编译器强制类型从EventTarget到Node

Related 相关文章

  1. 1

    Google Closure编译器服务提供了无效的代码

  2. 2

    使用Google Closure编译器删除调试代码

  3. 3

    阻止从Google Closure Compiler更改某些字符串?

  4. 4

    Google Closure Editor插件

  5. 5

    如何在Google Closure中以编程方式设置边框

  6. 6

    如何制作Google Closure插件

  7. 7

    Google Closure库发布管理

  8. 8

    Google Closure外部依赖项

  9. 9

    为Google Closure Compiler注释“任何类型的零个或多个参数”

  10. 10

    为什么Google Closure Compiler使用null == a而不是a == null进行优化?

  11. 11

    为什么Google Closure Compiler在扩展Date()的ES6对象上失败?

  12. 12

    重新格式化javascript以适应google-closure-compiler的命名空间展平

  13. 13

    如何在Google Closure Compiler中启用标头字符串文字声明?

  14. 14

    如何告诉Google Closure删除未使用的变量初始化?

  15. 15

    Google Closure开源项目的未来

  16. 16

    来自Google Closure编译文件的TypeError

  17. 17

    使用Google Closure从LabelInput访问数据

  18. 18

    使用 Google Closure 进行项目范围的混淆

  19. 19

    如何使用 ajax 获取 Google Closure 响应

  20. 20

    Closure Compiler-使用jQuery和Closure进行混合编译的源代码

  21. 21

    Closure Compiler-使用jQuery和Closure进行混合编译的源代码

  22. 22

    我可以在Google Closure中为枚举定义接口吗?

  23. 23

    Google Closure编译器中的高级编译

  24. 24

    如何解决Google Closure名称空间的地狱?

  25. 25

    了解Clojurescript与Google Closure编译器之间的关系

  26. 26

    使用Google Closure编译器Java API

  27. 27

    将插件添加到Google Closure编辑器

  28. 28

    如何解决Google Closure名称空间的地狱?

  29. 29

    Google Closure编译器强制类型从EventTarget到Node

热门标签

归档