Javascript GWT jsinterop java导出不工作

Javascript GWT jsinterop java导出不工作,javascript,java,gwt,Javascript,Java,Gwt,我正在使用GWT,并试图导出一个java类,以便在HTML中的javascript中使用。这是我想使用jsinterop导出到javascript的java类。 这是我的HTML中的javascript <script> var foo = new Foo(); foo.x = 40; foo.y = 2; foo.sum(); </script> 我也犯了同样的错误。有什么建议吗?您是否记得将-generateJsInteropEx

我正在使用GWT,并试图导出一个java类,以便在HTML中的javascript中使用。这是我想使用jsinterop导出到javascript的java类。

这是我的HTML中的javascript

<script>
    var foo = new Foo();
    foo.x = 40;
    foo.y = 2;
    foo.sum(); 
</script>

我也犯了同样的错误。有什么建议吗?

您是否记得将-generateJsInteropExports标志传递给编译器(以及超级开发模式)?没有它,GWT将不会导出类型,因为这会增加输出大小


(这个问题看起来更简单)

您是否记得将-generateJsInteropExports标志传递给编译器(以及超级开发模式)?没有它,GWT将不会导出类型,因为这会增加输出大小


(这个问题看起来更简单)

记住GWT代码是异步启动的(除非您使用自定义链接器),所以可能只是您试图在定义对象之前使用它

作为测试,尝试将JS代码放入
setTimeout


真正的解决方法是使用自定义链接器,或者设置一个回调,您将从GWT的
onModuleLoad

调用该回调。请记住,GWT代码是异步启动的(除非您使用自定义链接器),因此可能只是您试图在定义对象之前使用该对象

作为测试,尝试将JS代码放入
setTimeout


真正的解决方法是使用自定义链接器,或者设置一个回调函数,您将从GWT的
onModuleLoad

调用该函数,该函数可能会重复出现相同问题,但“com未定义”。还使用-generateJsInteropExports标志。可能存在相同问题的重复项,但带有“未定义com”。还使用-generateJsInteropExports标志。
<script>
    var foo = new Foo();
    foo.x = 40;
    foo.y = 2;
    foo.sum(); 
</script>
var foo = new com.example.client.Foo();