【发布时间】:2010-04-09 16:20:25
【问题描述】:
我有一个很大的 GWT 模块,它由许多 java 类组成(当然不可能将它分解成几个模块)。
我的 GWT 应用程序包含一些表单,但用户通常只使用其中的几个,无论如何他们应该能够根据需要打开任何表单。
现在我的问题是gwt会生成一个每次都会加载的大js文件,但它的大部分内容可能永远不会使用!
有什么办法可以将大的js模块文件分成几个小文件(例如,每个类一个文件)&gwt根据需要自动加载它们?
【问题讨论】:
我有一个很大的 GWT 模块,它由许多 java 类组成(当然不可能将它分解成几个模块)。
我的 GWT 应用程序包含一些表单,但用户通常只使用其中的几个,无论如何他们应该能够根据需要打开任何表单。
现在我的问题是gwt会生成一个每次都会加载的大js文件,但它的大部分内容可能永远不会使用!
有什么办法可以将大的js模块文件分成几个小文件(例如,每个类一个文件)&gwt根据需要自动加载它们?
【问题讨论】:
您需要代码拆分 - http://code.google.com/webtoolkit/doc/latest/DevGuideCodeSplitting.html
从概念上讲,将您的代码想象成一棵以您的 onModuleLoad() 方法开头的树。每个方法调用都是这棵树中的一个分支。现在 GWT 的代码拆分是一把斧头,你可以在任何分支上砍树。您可以随心所欲地在任何地方砍树。
在启动时,GWT 只会加载树中包含 onModuleLoad 的部分。当您第一次访问该部分时,将加载其他部分。代码方面,其他分支会异步加载,加载完成后会在回调中通知你。
阅读我上面粘贴的链接中的文档。它有足够的材料让您入门。
【讨论】: