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

10
我们有一个非常大的 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分钟的构建,这是无法接受的。那么问题来了,如何在代码中设置分割点,但除非我明确要求,否则编译器不会进行拆分呢?我设想日常开发将忽略拆分点,但夜间或生产构建将进行拆分。有什么想法吗?
1个回答

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接