如何在GWT中禁用代码拆分?

吸引:

我们有一个非常大的GWT项目,它产生了一个大小约为2Mb的单片应用程序。分解的明显方法是使用分割点。例如,我们的应用是菜单驱动的,因此每个菜单操作背后的逻辑可能是一个分裂点。同样,调用GWT RPC的代码也可能是分裂点。这样,一个2Mb应用程序可能会分解成一个300K的启动应用程序,其余的将在首次使用时加载。

GWT将对GWT.runAsync()的调用视为可以将JS分解为较小的块的位置,这些块在运行时异步加载。例如,设置一个调用doSomething()的分割点,我们这样编写它:

GWT.runAsync(new RunAsyncCallback() {
  public void onFailure(Throwable caught) {
    Window.alert("Oh dear could not load app");
  }

  public void onSuccess() {
    doSomething();
  }
});

GWT编译器将看到此代码并将其标记为拆分的候选者,并将代码分解为较小的片段,这些片段将在首次使用时加载。

我们遇到的问题是,如果将拆分点放入代码中,则执行构建实际上需要10到50倍的时间。我猜想在处理包含大量类的项目时代码不是很有效。因此2分钟的构建就变成20-100分钟的构建,这是不可接受的。

所以问题是,除非我明确要求,如何将拆分点放入代码中,但防止编译器拆分?我设想,日常开发将忽略拆分点,但夜间或生产版本将拆分。

有任何想法吗?

Bartek Jablonski:

传递-draftCompile作为编译器参数。看一下这篇文章:提高GWT编译速度

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章