代码之家  ›  专栏  ›  技术社区  ›  locka

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

  •  10
  • locka  · 技术社区  · 14 年前

    我们有一个非常大的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编译器将看到这段代码,并将其标记为候选代码,以便将代码拆分成更小的片段,这些片段将在首次使用时加载。

    所以问题是,我怎样才能在代码中加入分裂点,但除非我明确要求,否则我如何防止编译器分裂呢?我设想日常开发将忽略分割点,但是夜间构建或生产构建将分割。

    有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  5
  •   Bartek Jablonski    14 年前

    通过 -草稿编译 看看这个帖子: Improving GWT compilation speed