我想修改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>
到顶部。但是抛出了同样的错误。那么,缺少什么?
*许可证是麻省理工学院,权利没有问题。
答案 0 :(得分:2)
首先,应用程序似乎正在使用Google Closure,这是由Google开发的JavaScript库。
这是(当然), 完全 与Google Closure Compiler不同,这是一种JavaScript缩小和混淆引擎(这些大公司和他们寻求一切相同的名称)。
这意味着您应该在 deps之前包含Closure bootstrap ;这就是应用程序本身所做的事情,就像在main view中一样,如果应用程序尚未编译,它会调用game_js
helper,includes Closure的base
文件。
<强> TLDR:强>
首先尝试包含/javascripts/closure/closure/goog/base.js
文件。