如何创建开发/调试和生产设置

我最近无意中部署了我们的游戏typrX的调试版本(在www.typrx.com上打字比赛 – 尝试它很有趣)。 它很快得到纠正,但我知道它可能会再次发生。 在挖掘Google之后,我发现了一些信息,如何创建2个不同的配置文件,一个用于具有调试function的开发模式,另一个用于部署。 这是我从Google IO演示文稿中找到的内容。 有人有这个设置吗? 有人可以解释如何运行吗?

MyAppCommon.gwt.xml  ...      ...  MyAppDebug.gwt.xml  ...   

使用特定模块进行调试的想法已经浮出一段时间,并且在此Google I / O演示文稿中也有提及(参见PDF中的幻灯片33或video中的0h31m)。

基本思想是你有一个标准的 GWT模块,第二个调试模块inheritance这个标准模块,配置一些属性,并使用GWT的延迟绑定在调试时用特定的实例替换一些类。

然后,您只需配置Maven / ant构建版本即可编译相应的模块,具体取决于您处于开发模式还是处于发布模式。


在我的项目中,我没有创建“app.config”延迟绑定属性,但我可能稍后会这样做。 我做的是以下内容:

创建了一个标准模块

COM /示例/ MainModule.gwt.xml:

           

创建了一个“调试”模块,它inheritance了标准模块并为开发配置了一些额外的属性

COM /示例/ MainModuleDebug.gwt.xml:

       

注意: rename-to属性在这里非常重要,因为您希望在完全相同的名称下部署这两个模块。 在开发期间编译时,您不希望必须更改所有html主机页面以指向调试模块。

配置Maven和gwt-maven-plugin来编译正确的模块

  (...)  (...)    true  (...)  org.codehaus.mojo gwt-maven-plugin  (...) com.example.MainModule${gwt.module.suffix}   (...)    gwtDebug  Debug  false    gwtDebug      

只需执行“maven clean install”即可编译生产模块。 在开发中,您使用“mvn clean install -DgwtDebug”来激活gwtDebug配置文件,该配置文件又编译调试模块。

当然,您可以配置〜/ .m2 / settings.xml以始终定义“gwtDebug”属性…

同样的想法也适用于Ant。 但我并不精通它。


当您开始玩具有使用调试模块覆盖真实模块的想法时,您开始设想一些非常酷的可能性:

  • 您可以添加性能日志,这些日志将在生产时从代码中删除。
  • 您可以配置所有toString()方法以在调试模式下返回有用的内容,并在生产时返回空字符串(从而减少.js大小)。
  • 您可以通过仅指定一个区域设置/一个浏览器/一个日志级别来减少排列数量,以加快编译速度(但不要忘记不时测试其他区域设置/浏览器)。