我有一个复杂的 dojo 应用程序,可以在未编译的情况下正常工作,但在使用 Google 编译后闭包编译器,我在某些行为上发现了细微的差异。
事实上,调试起来非常困难,而且我无法找到任何有关使用 Google Closure 编译和未编译的 Javascript 之间可能存在的功能差异的信息。
谁能指出我已知差异的方向,或者分享任何类似的经验和一些从哪里开始寻找的想法?
通用闭包编译器调试技巧
- Use the
VERBOSE
警告级别。这将打开所有检查。
- Use the
debug
旗帜。它使重命名的符号变得非常长,但它们的命名方式使您可以找到原始符号。如果代码适用于debug
flag 但并非没有它,这几乎肯定是一个重命名问题。
- 绝对用
formatting=PRETTY_PRINT
。如果没有它,调试压缩代码会很痛苦。
- Use 源映射
- 禁用基于类型的优化
--use_types_for_optimization false
。不正确的类型注释可能会导致编译器做出无效的假设。
更新:从 20150315 编译器版本开始,默认启用基于类型的优化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)