SuperDevMode不使用嵌套脚本

时间:2016-09-12 10:49:07

标签: javascript java google-chrome gwt gwt2

我试图让SuperDevMode在带有多个模块的GWT-2.6.1上运行。

我遇到过一个问题,即SuperDevMode插件似乎无法获取存在于DOM中不同级别的模块。例如,在生成的.nocache.js文件中有以下行:

var o=window;

此窗口包含:

__gwt_activeModules 

包含该页面中存在的模块的变量,因此当booklet被激活时,它会找到相关模块并将其替换为代码服务器上运行的.nocache.js文件(我相信!)

但是当我尝试重新编译存在于DOM中不同级别的模块时会出现问题 - 因为nocache.js窗口引用不同 - SuperDevMode插件只能看到顶级模块。这是插件的限制还是我错误配置了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

如果SDM代码服务器与Web服务器在同一个ip上运行,那么我建议使用带有-war / path / to / war / output / dir / on / jboss的DevMode,这样当代码服务器启动时将[module] .nocache.js与sdm init一起写入war输出目录。这意味着当它加载时它将编译和刷新编译。

我更喜欢使用代码服务器启动器,因为它更容易配置外部服务器。 GWT Eclipse插件有一个代码服务器的启动器,而不是-war,它调用-launcherDir。

如果Web服务器位于不同的IP上,则需要使用代理返回代码服务器。这会将9867请求路由回本地代码服务器。或者破解并更改[module] .nocache.js中的hostName。我正在努力解决这个问题,并将展示如何在GWTCon上运行它。如果服务器运行时是从Eclipse运行的,则不需要这样做,因为代码服务器和Web服务器都绑定在同一个ip上。

这是一个在同一个ip上有一个简单的外部Web服务器的视频。同一个ip上的任何Web服务器都可以产生相同的效果。 https://www.youtube.com/watch?v=HfucNtGXLYY