我有一个很大的GWT模块,它由许多java类组成(当然,不可能将它分解为几个模块)。
我的GWT应用程序包含一些表单,但用户通常只使用其中的一些表单,无论如何,他们应该能够根据需要打开任何表单。
现在我的问题是gwt会生成一个大的js文件,每次都会加载,但是大部分内容都可能永远不会使用!
有没有办法将大js模块文件分成几个较小的文件(例如,每个类一个文件)& gwt会根据需要自动加载吗?
答案 0 :(得分:3)
您需要代码拆分 - http://code.google.com/webtoolkit/doc/latest/DevGuideCodeSplitting.html
从概念上讲,将代码视为以onModuleLoad()方法开头的树。每个方法调用都是此树中的一个分支。现在GWT的代码分割是一个斧头,你可以在任何分支切割树。您可以随意和任意次数剪切树。
启动时,GWT只会加载包含onModuleLoad的树的一部分。首次访问该部分时,将加载其他文件。在代码方面,其他分支将以异步方式加载,并且在完成加载后将在回调中通知您。
阅读我上面粘贴的链接上的文档。它有足够的材料让你入门。