java – 最好的GWT CodeSplitting设计封装“模块”

前端之家收集整理的这篇文章主要介绍了java – 最好的GWT CodeSplitting设计封装“模块”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前我面临着与GWT代码分割相关的一个具有挑战性的问题,希望能够提供一些帮助.

我目前正在处理大型遗留GWT应用程序(MVP之前),我正在寻找基于“portlet”(我们称之为我们构建页面的各种复合小部件)的模块来分割此应用程序的代码部分.

目前,我们的模块只是通过portlet所在的软件包来识别,但是我可以更改这个来更好地适应一个通用的代码分割设计.

关于我如何设计这个代码以表明portlet /复合属于特定的“模块”的任何想法,然后拆分代码,以便第一次加载模块X中的任何portlet /组合,整个模块X被加载?

谢谢

解决方法

嗯…通常,这很简单,但我猜这不是你真正的问题吗?

只需使用:

GWT.runAsync(new RunAsyncCallback() {
    public void onFailure(Throwable reason) {
        ...
    }
    public void onSuccess() {
        ...
    }
});

然后,onSuccess方法中的所有内容将被分割成另一个javascript文件,然后根据需要进行加载.

如果要将复合材料与其余代码分开,只需将复合材料的创建放在onSuccess方法中即可.

您也可以嵌套GWT.runAsync方法,因此您可以在不同的部分重新分割零件,例如.第一个GWT.runAsync加载模块X,在模块X的构造函数中,您可以执行另一个runAsync,然后加载您的组合.

对于couse来说,部分之间可能会有一些依赖关系,这使得编译器难以拆分,但是我已经用我的一个项目(大约40k行代码)测试了它,它的工作就像一个魅力.

猜你在找的Java相关文章