从闭包编译器解开JS源代码

时间:2013-04-25 18:35:12

标签: javascript google-closure

我想修改a javascript application * 。问题是,js是用Google Closure Compiler编译的。显然,我应该修改源代码(可以在存储库中找到),然后重新编译。

这是我第一次遇到海湾合作委员会。我浏览了文档并得出结论,关键是通过goog.addDependency关键字使用deps.js中提到的来源。 所以我设置了一个HTML文件并引用了所有的源代码。加载此文件我得到118 ReferenceError:在firebug控制台中没有定义goog 错误。

然后我又阅读了一些内容,发现应用程序已在kbuild的帮助下编译,并且它使用配置文件config.kb将正确的参数发送到GCC。此文件指示第一个文件应为loader.js,因此我重新排序了<script>代码并移动了

<script type="text/javascript" src="./eightball/loader.js"></script>

到顶部。但是抛出了同样的错误。那么,缺少什么?

*许可证是麻省理工学院,权利没有问题。

1 个答案:

答案 0 :(得分:2)

首先,应用程序似乎正在使用Google Closure,这是由Google开发的JavaScript库。

这是(当然), 完全 Google Closure Compiler不同,这是一种JavaScript缩小和混淆引擎(这些大公司和他们寻求一切相同的名称)。

这意味着您应该在 deps之前包含Closure bootstrap ;这就是应用程序本身所做的事情,就像在main view中一样,如果应用程序尚未编译,它会调用game_js helperincludes Closure的base文件。


<强> TLDR:

首先尝试包含/javascripts/closure/closure/goog/base.js文件。