当前位置: 首页 > 知识库问答 >
问题:

GWT中的超级开发模式

宓英哲
2023-03-14

我对GWT是新手。我不知道如何启动超级开发模式。我需要一步一步的详细解释。

<add-linker name="xsiframe"/>
  <set-configuration-property name="devModeRedirectEnabled" value="true"/>
  <set-property name="compiler.useSourceMaps" value="true" />

但我不明白这一点。

共有1个答案

申屠恺
2023-03-14

更新:从GWT2.7开始,DevMode实际上将在默认情况下自动使用超级开发模式,所以您只需像以前一样启动DevMode,应用程序将在页面(重新)加载时自动编译。
一个区别是生成了一个特殊的.nocache.js,所以您必须确保浏览器加载了这个特定的文件;要调试远程服务器(就像以前使用-noserver运行DevMode所做的那样),您必须使用bookmarklets,如下所述。

要在Super Dev模式下运行,您必须完成以下两个准备步骤:

>

  • super Dev模式仅适用于xsiframe链接器,因此请确保.gwt.xml中也有以下一行:

    <add-linker name="xsiframe" />
    

    注意:该链接器将是2.7中的默认链接器

    如果使用2.6.0之前的GWT,还必须在.GWT.xml中启用超级开发模式:

    <set-configuration-property name="devModeRedirectEnabled" value="true" />
    

    否则,如果您打算从与127.0.0.1localhost不同的URL使用超级开发模式,那么您必须将主机列为白名单。这是使用正则表达式完成的,例如:

    <set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(mymachinename|192\.168\.5\.151)(:\d+)?/.*" />
    

    完成后,您可以启动超级开发模式会话:

    >

  • 使用与启动DevMode相同的类路径(即gwt-user.jargwt-dev.jar和所有客户端依赖项:例如GXT、gin+guice、GWTEventBinder等)启动com.google.gwt.dev.codeVer.codeVer,但添加gwt-codeVer.jar;并将模块的名称作为参数传递。

    它将从编译模块开始,以检查它是否真的可以编译;通过传递-noprecompile作为参数,可以跳过这一步。

    注意:如果您使用Maven,您应该能够使用mvn gwt:run-codeserver(注意:在插件2.6.0之前的版本中有一个bug,实际上您必须运行mvn process-classes gwt:run-codeserver;这在2.6.1中得到了修复)。

    在浏览器中打开应用程序,然后在Bookmarklet上点击开发模式。单击打开的弹出窗口中的编译按钮。它应该刷新页面并从codeVer而不是从服务器加载JS。浏览器的开发工具也应该加载SourceMaps,这样您就可以查看和调试Java代码(一步一步地)。

    当您想测试对代码所做的更改时,请再次单击bookmarklet上的开发模式。与DevMode相反,刷新页面不会使其运行新代码;代码必须首先重新编译,在bookmarklet上的Dev模式之后单击Compile按钮(注意:您也可以直接将Compile按钮添加到书签以保存单击,但请注意它绑定到您的模块,因此如果您处理多个模块,则需要多个书签)。

    完成后,单击Dev Mode Off以确保切换回生产模式,然后关闭CodeServer进程(控制台中的CtrlC应该可以工作)。

    官方文档http://www.gwtproject.org/articles/superdevmode.html
    也请参阅http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/了解有关超级开发模式实际工作方式的更多信息。

  •  类似资料:
    • GWT-2.5-super-dev-mode 引入超级开发模式 GWT的超级开发模式是如何工作的? 然而,我在尝试打开超级开发模式的步骤中被卡住了: 调试文件中的js代码时,脚本在第324行中断: 一旦函数被调用,就会运行更多的模糊函数,调试器就会返回。 我知道这仍然是实验性的,但你知道我可能做错了什么吗? PS:我使用的是gwt2.5、gwt-maven-plugin2.5和Chrome 23.

    • 在GWT 2.5之前,默认情况下所有css类都被混淆了,但在GWT 2.7中,在超级开发模式下运行时,它会在类名中附加完整的包。我在下面尝试过,但它不起作用。 我并没有混淆css样式,而是像com谷歌gwt用户cellview客户端CellTable样式cellTableCell一样打印名称。

    • 我试图通过mvn GWT:run-codeserver用maven在超级开发模式下运行GWT应用程序。这个插件给了我一个localhost页面,作为建议,我将上,然后访问页面中提供的链接。 然后我单击书签栏上上的

    • 我有一个使用GWT2.7.0的GWT项目,并且正在使用Maven。该应用程序正在正确编译和运行,然而,我正在努力使GWT的超级开发模式正常工作。当我用 超级开发模式正确启动,编译,最新的更改显示在浏览器中。但是,当我按compile bookmarklet重新编译GWT代码时,重新编译正确完成,浏览器刷新,但不包括我对客户机/GWT java文件所做的任何后续更改。 当启动GWT Super De

    • 我已经安装了2.8.1版本的GWT SDK。我可以用Jersy在GWT中运行应用程序。但是,当我尝试在GWT开发模式(超级)下运行应用程序时,会生成类似http://127.0.0.1:9876的URL。当我在浏览器中放置此URL时,没有加载预期的UI页面。我得到的页面就像, 我甚至在浏览器级别添加了GWT扩展,并尝试了相同的方法。但是,还是没有运气。 我没有尝试使用eclipse下载的GWT S

    • 问题内容: 使Super Dev模式与IntelliJ配合使用时,我遇到很多问题。这个问题,以及我在下面的回答,是为将来可能遇到此问题的其他任何人(和我自己的参考)记录如何做到这一点: 问题答案: IntelliJ IDEA 14 EAP 现在提供了对GWT Super Dev Mode的改进支持。您将需要使用JetBrains IDE插件在Chrome上进行JavaScript调试,然后安装GW