【问题标题】:Compile a GWT library into a JavaScript library将 GWT 库编译为 JavaScript 库
【发布时间】:2015-02-27 21:05:13
【问题描述】:

我想知道将 GWT 库构建到 JavaScript 库中的最佳方法是什么。当这个要编译成 Java 脚本的 GWT 库中没有任何 GWT 服务器端组件时。

只是简单的前端组件。仅包括 AJAX 调用等。

在 Java 中,GWT 库是这样使用的:

TheGWTLibrary api = new TheGWTLibrary();
api.setServer("http://www.somewhere/api");
api.post(stuff, new Callback(){
 void success(){
 }
 void fail(){
 }
});
api.get(new Callback(){
 void success(){
 }
 void fail(){
 }
});

这样 GWT 库项目可以在任何 HTML 项目中使用,而无需使其成为 GWT 应用程序。

如果可能的话,这个 GWT 库的依赖项将编译到哪里?它会被包含在一个单一的 JavaScript (js) 文件中吗?

【问题讨论】:

    标签: java gwt javascript


    【解决方案1】:

    [编辑 2016]

    使用新 GWT (2.8.0) 的方法是使用 JsInterop,请阅读 documentation API。请注意,它仍在 2.8.0-SNAPSHOT 中,但将在几周后发布。另外,2.7.0 中的 JsInterop 在 2.8 中已被弃用和删除,所以不要使用它。

    [结束编辑]

    除了编写 JSI 方法之外,还有两种简单的方法可以解决这个问题。

    1.- GwtExporter

    你可能有兴趣阅读我几年前写的这篇文章:

    https://code.google.com/p/gwtchismes/wiki/Tutorial_ExportingGwtLibrariesToJavascript_en

    它使用 gwt-exporter,你可以看看几个使用这种方法的项目:

    2.- JsInterop

    如果您想玩新东西,您可以阅读有关 JsInterop 的文章,这是 GWT-2.7 中的一个 beta 功能,它将在 GWT-3.0 中完全发挥作用。

    它允许您将 java 类导出到 JS。您必须使用-XjsInteropMode JS 和一些注释。

    目前没有那么多文档,但是有一个解释 API 的文档和一个有趣的演示文稿。

    https://docs.google.com/document/d/1tir74SB-ZWrs-gQ8w-lOEV3oMY6u6lF2MmNivDEihZ4/edit

    http://gokdogan.appspot.com/gwtcreate2013/#1

    【讨论】:

      【解决方案2】:

      听起来您正在寻找类似GWT Exporter 的内容。它允许您将 GWT 库导出为可公开访问的 javascript API。

      看起来您仍然需要将 GWT 库编译为 Web 应用程序才能使用它,但如果您没有任何服务器端代码,它应该像编译您的 API、复制战争一样简单文件夹并添加对 war/[yourapp].nocache.js 的引用。

      如果这不是您想要的,您可以查看this question 了解其他选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-14
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-20
        相关资源
        最近更新 更多