5

我工作的项目非常具体。我们将 GWT 与 SAP 后端一起使用。我们使用以下配置运行开发模式(作为程序参数;我直接使用 IntelliJ IDEA 运行项目)

-noserver -logLevel INFO -startupUrl http://server-url:8000/aaa -whitelist ^http[:][/][/]server-url[.]eu[:]8000/aaa com.company.project.main.Main

请注意,我们没有使用本地服务器 ( -noserver)。

在熟悉了 Super Dev Mode 之后,我明白了,它的工作方式类似于 GWT Web Mode,即编译 JavaScript(可以指定要编译到的文件夹),然后运行托管该脚本的代码服务器。

由于项目的特殊性,编译后的 JavaScript 通过 WebDav 使用 maven 部署到远程服务器。因此,简单地指定-workDir为参数不会在远程服务器上部署脚本。我们也不能(至少目前)在该server-url地址上运行 Java 服务器。

在这种情况下我们可以使用超级开发模式吗?

4

2 回答 2

9

是的你可以。

编辑 2016-11-27:我构建了一个开发服务器,可以使用-launcherDir-style SuperDevMode 而无需写入服务器,通过使用类似 webpack 的代理:https ://github.com/tbroyer/gwt-devserver

编辑:有一些问题。延迟绑定属性。推荐使用 SDM(自 GWT 2.7 起)是使用-launcherDir这意味着使用本地服务器。

SuperDevMode 与 DevMode 的工作方式非常相似-noserver,这意味着您必须将应用程序至少部署一次到您的服务器。在 SuperDevMode 的情况下,这意味着您必须在xsiframe链接器和devModeRedirectEnabled属性设置为true.

然后你在你的机器上运行 SuperDevMode,如果还没有创建你的书签,从远程服务器加载你的应用程序,然后单击Dev Mode On书签。

这将在浏览器中存储一些内容,sessionStorage以便重新加载页面现在将从您机器上运行的 SuperDevMode 加载排列,而不是远程服务器。

More info about how SuperDevMode works: http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/

于 2012-12-12T14:51:03.103 回答
0

目前,我只看到一种可能的解决方案,即gwt-codeserver.jar在 SAP 服务器上以某种方式运行(使用地址,比如说,http://server-url:8000/bbb)并编写一个 servlet,它将所有请求重定向到http://server-url:8000/aaa. 然而,这并不容易实现。SAP 服务器具有“棘手”的身份验证机制,用户首先看到登录页面,然后将他们重定向到生成的特定于会话的 URL。

非常欢迎其他想法。

于 2012-12-12T13:55:10.590 回答