编译GWT代码的JavaScript异常

时间:2011-08-01 15:24:35

标签: javascript gwt

在编译GWT类的过程中,我遇到了一些编译器异常。我在这里提交了一份错误报告:http://code.google.com/p/google-web-toolkit/issues/detail?id=6623

现在我发现如何使用“draftCompile”进行编译。但是,生成的JavaScript代码在执行时不起作用。

Java源文件可从错误跟踪器获得,已编译的项目位于:http://clientssh1.rbg.informatik.tu-darmstadt.de:9000/war/Gwittest.html

错误是:(Chrome)“Uncaught TypeError:无法读取属性'testpackage_shared_ship_Level_boards'为null”。在Firefox中又出现了另一个错误。

代码在开发模式下工作(来自Eclipse)。

如何解决此错误?它与编译/优化错误有关吗?我该如何解决?如果它本身就是一个bug,我也应该报告这个,不是吗?

编辑:相关课程在这里:https://gist.github.com/1139147

1 个答案:

答案 0 :(得分:2)

错误听起来像编译的javascript包含如下代码:

null.testpackage_shared_ship_Level_boards

如果GWT优化器认为您的字段“board”读取的类型为“Level”的变量必须为null,则会发生这种情况。优化器通常是正确的。

所以,一种方法是: 将代码编译成人类可读的javascript(风格漂亮)。获取javascript错误并找到导致它的行。找到Java源代码的相应行,并追溯变量值的来源。您可能会发现变量未初始化。

相关问题