远程服务器上的超级开发模式

时间:2012-12-12 13:55:11

标签: gwt gwt-super-dev-mode

我工作的项目非常具体。我们将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)。

熟悉超级开发模式之后,我明白它与GWT Web模式类似,即它编译JavaScript(可以指定要编译的文件夹),然后运行托管该脚本的代码服务器。 / p>

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

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

2 个答案:

答案 0 :(得分:9)

是的,你可以。

编辑2016-11-27:我构建了一个可以使用-launcherDir样式的SuperDevMode的devserver,无需使用类似webpack的代理写入服务器:{ {3}}

编辑:还有一些问题。延迟绑定属性。建议使用SDM(因为GWT 2.7)是使用-launcherDir,这意味着使用本地服务器。

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

然后在您的机器上运行SuperDevMode,如果尚未创建您的书签,请从远程服务器加载您的应用程序,然后单击开发模式书签。

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

有关SuperDevMode如何工作的更多信息:https://github.com/tbroyer/gwt-devserver

答案 1 :(得分:0)

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

非常欢迎其他想法。