2

我有兴趣在不使用 Google Eclipse 插件或applicationCreatorGWT SDK 的情况下从头开始编写一个简单的 GWT 应用程序。为什么?因为我觉得它会帮助我真正了解这些自动化工具在幕后所做的事情,并将帮助我更好地理解GWT。

我确实安装了 Google Eclipse 插件并用它来创建一个新的 Web 应用程序项目(GWT 应用程序),只是为了查看它自动生成的文件类型。对于我给定的项目,它有一个名为WebModule(也作为EntryPoint应用程序的唯一模块)的模块,这是 Google Eclipse 插件给我的:

src/main/java
    com.myapp
        WebModule.gwt.xml
    com.myapp.client
        WebModule (implements EntryPoint)
    com.myapp.shared
    com.myapp.server
war/
    webModule/
        lots of folders and files under here...
        clear.cache.gif
        hosted.html
        webModule.nocache.js
    css/
        webModule.css
    hosts/
        webModule.html
    WEB-INF/
        web.xml
    deploy/
        webModule/
            rpcPolicyManifest/
                manifest.txt

所以,我想做的是在另一个项目中重新创建它,但自己生成所有东西。为了做到这一点,我需要了解一些事情,特别是:

  1. 目录是war/webModule什么,那里有什么资源?
  2. 是什么war/webModule/clear.cache.gif
  3. 有没有办法war/webModule/webModule.nocache.js自己生成?还是我需要使用 GWT SDK 工具之一从命令行生成它?(如果是这样,什么/如何?)
  4. 目录是什么war/deploy?如果我使用 RequestFactory 而不是 GWT-RPC,我需要它吗?
  5. 我在这里缺少任何其他“必需品”吗?

提前致谢!

4

1 回答 1

5

1 什么是war/webModule 目录,那里有哪些资源?

该目录是 GTW 编译器的结果:

  • 文件 *.cache.html 是每个语言环境和/或浏览器的版本。
  • *.cache.png 是您的应用程序使用的图像资源和精灵。
  • 如果您使用 RPC,则还有 *.gwt.rpc 用于(反)序列化机制。
  • 如果您使用 GWT 主题,即 clean 主题,您将拥有一个 gwt 子目录,其中包含该主题的 css 和资源。

2 什么是war/webModule/clear.cache.gif?

这是一个 1x1 的可缓存图像,用于为 <img> 标记提供占位符。请参阅http://code.google.com/p/google-web-toolkit/wiki/ImageBundleDesign(“图像的剪辑构造函数”)

3 有没有办法自己生成war/webModule/webModule.nocache.js?还是我需要使用 GWT SDK 工具之一从命令行生成它?(如果是这样,什么/如何?)

*.nocache.js 由 GWT 编译器生成。它是应用程序加载器,它将为您的应用程序选择正确的语言环境/浏览器版本。它可以使用命令行工具、ant 构建文件(参见http://developers.google.com/web-toolkit/doc/latest/RefCommandLineTools示例)或 maven 生成。

4 什么是战争/部署目录?如果我使用 RequestFactory 而不是 GWT-RPC,我需要它吗?

该目录是使用 -extra 或 -deploy 选项生成的。它是未部署在生产中并包含技术信息的文件,例如:

  • rpcPolicyManifest:包含有关使用的 RPC 类型的元数据,以及策略相关文件路径
  • symbolMaps:用于从混淆的 javascript 文件中检索类名和堆栈跟踪的数据表。

所以我认为如果你不使用 RPC,也许你甚至需要它有未混淆的痕迹。

5 我在这里缺少任何其他“必需品”吗?

您可以在此处找到更多详细信息:https ://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

希望这有助于...

于 2013-05-31T08:38:10.233 回答