我必须使用GWT制作一个Web应用程序。该项目有一个核心模块,它将公开一组apis供其他应用程序使用;这些app中的每一个都是无关的。每个都应加载在一个单独的iframe中。
我的想法是将core编译成core.js,每个app都有自己的app1.js app2.js等等......
App1的
script type="text/javascript" src="core.js" ></script>
script type="text/javascript" src="app1.js" ></script>
有了这个设计,由于浏览器缓存,每个应用程序只加载应该小于〜20kb的app.js。
制作核心模块非常简单,但应用程序存在问题。原因是在编译之后,每个应用程序都包含整个GWT库 - 这大大增加了完整Web应用程序的下载大小。
有人能建议一种解决这个问题的方法吗?我在SO上检查了类似的问题,但未能找到问题的简单工作答案。
答案 0 :(得分:4)
无法做到。
GWT意味着是一个单一的编译。它将占用你所有的java代码,假设除了提供给它之外没有其他代码存在,然后生成优化的javascript代码。这样做时,它只会编译程序实际使用的标准GWT库的部分内容。
由于GWT的工作方式,在同一页面上包含多个GWT模块总是效率低下。
相反,这是我建议的 -