1

我启动 GWTP Carstore 应用程序

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

在超级发展模式。它有许多选项卡,每个选项卡对应一个用 注释的地方@ProxyCodeSplit,例如

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

单击每个选项卡,我预计每次都会加载不同的 javascript 文件;但是事实并非如此,从我附上的 Fiddler 屏幕截图可以看出。

在此处输入图像描述

可以看到在启动期间已经加载了所有 Javascript(当我单击不同的选项卡时,返回 JSON 的各种请求被发送到服务器)。

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

4

1 回答 1

0

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

尝试查看在将 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 时,我确实看到在“位置”更改后加载了额外的 Javascript 文件。因此,在部署到 Tomcat 之后,代码拆分按预期工作。

于 2017-08-08T08:12:29.727 回答