GWTP Carstore示例应用程序代码拆分

时间:2017-08-07 22:29:07

标签: gwt gwtp code-splitting

我启动了GWTP Carstore应用程序

https://github.com/ArcBees/GWTP-Samples/tree/master/carstore

在超级开发模式下。它有许多标签,每个标签对应一个用@ProxyCodeSplit注释的地方,例如

@ProxyCodeSplit
@NameToken(NameTokens.MANUFACTURER)
interface MyProxy extends ProxyPlace<ManufacturerPresenter> {
}

点击每个标签,我预计每次加载不同的javascript文件;然而事实并非如此,从我附上的Fiddler截图中可以看出。

enter image description here

有人看到在启动期间已经加载了所有Javascript(当我点击不同的标签时,返回JSON的各种请求被发送到服务器。)

Carstore应用程序配置是否不完整,或者我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:0)

好吧,如果其他人开始对此表示不满:正如我所说,我看到如果我使用Maven GWT插件以超级开发模式mvn clean gwt:run启动Carstore,则不会发生代码拆分。

在将Carstore部署到Tomcat之后,尝试查看是否还没有发生代码拆分,我使用mvn clean package创建了Carstore WAR;然而,它无法部署(使用Java 8,堆栈跟踪已

Caused by: java.lang.NullPointerException: No API environment is registered for this thread.
    at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:179)

内)。

所以我尝试了一个更简单的项目,我在我的机器上。同样地(至少在我的项目的pom.xml中使用Maven GWT插件配置)我看到在超级开发模式中所有Javascript都在启动时加载。然而,当我创建这个更简单的项目的WAR并将其(成功地这次)部署到Tomcat时,我确实看到在&#34; place&#34;之后加载了其他Javascript文件。被改变了。因此,在部署到Tomcat之后,代码拆分按预期工作。