我们有一个非常大的GWT项目,其结果是一个大小约为2Mb的单片应用程序。分解它的明显方法是使用分割点。例如,我们的应用程序是菜单驱动的,因此每个菜单操作背后的逻辑可能是一个分割点。另外,调用GWT-RPC的代码也可能是一个分割点。通过这种方式,一个2Mb的应用程序可能会被分解成一个300K的启动应用程序,其余的在第一次使用时就被加载。
GWT处理呼叫GWT.runAsync文件()将JS分解成更小的片段,这些片段在运行时异步加载。e、 g.要设置调用doSomething()的拆分点,我们这样写:
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("Oh dear could not load app");
}
public void onSuccess() {
doSomething();
}
});
GWT编译器将看到这段代码,并将其标记为候选代码,以便将代码拆分成更小的片段,这些片段将在首次使用时加载。
所以问题是,我怎样才能在代码中加入分裂点,但除非我明确要求,否则我如何防止编译器分裂呢?我设想日常开发将忽略分割点,但是夜间构建或生产构建将分割。
有什么想法吗?