【问题标题】:Is it possible to compile WebDriverJS without minimizing the code by Google Closure Compiler?是否可以在不通过 Google Closure Compiler 最小化代码的情况下编译 WebDriverJS?
【发布时间】:2013-03-27 20:30:27
【问题描述】:

为了我的目的,我需要修改WebDriverJS。不过,编译后的源代码让我很难调试。描述函数名称和 cmets 对我有很大帮助!所以我想知道是否可以在不最小化其内容的情况下编译 WebDriverJS。

用于 JavaScript 编译的 build.desc 使用的是使用 Google Closure Compiler 的 js_binary。你们中的任何人都知道如何编译它并保留函数名和 cmets 吗?这宁愿是所有来源的合并,而不是编译。

【问题讨论】:

标签: javascript selenium selenium-webdriver google-closure-compiler


【解决方案1】:

感谢 "Potential differences between compiled and uncompiled Javascript" 中的 Chads 发帖,我已经深入了解了 flags of closure compiler

  • --compilation_level=WHITESPACE_ONLY 保留函数和变量名称
  • --formatting=PRETTY_PRINT 不会删除换行符
  • --formatting=PRINT_INPUT_DELIMETER 让我更好地了解在哪个文件中搜索源

不幸的是,我仍然不知道如何保存 cmets,但这只是一个小问题,因为我可以在源代码中查找它们。

更新: 似乎compile_level 没有删除goog.required-calls。我必须以某种方式删除它们,因为脚本不适用于它们。

更新 2: 我删除了所有goog.require($mod)goog.provide($mod) 调用并在需要的地方定义了对象(通常在// Input $int cmets 之后找到)。它现在正在工作。

【讨论】:

  • 通常情况下,您会使用与实时版本相同的优化级别。使用 --debug 标志会以一种很容易匹配原始来源的方式破坏名称。
  • 谢谢!我试过了,但我不喜欢它,我已经让它工作了;)当我弄清楚缺少什么时,我会编辑源文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多