如何避免在 GWT 中下载相同的 js 文件、图像、css 等

How to avoid downloading the same js files, images, css etcetera in GWT

我正在制作一个包含多个模块的 GWT 应用程序。我的应用程序有插件(扩展),这意味着我必须在运行时获取模块,第三方开发人员需要在运行时上传他们的插件。 go here for more context. I don't know what modules I'll get until runtime. As far as I know you can't inherit a new module at runtime outside of telling the server to change the gwt.xml file to inherit the right module and recompiling at runtime which would be unacceptably slow. GWT warned against this 没错。我有很多问题。其中之一是模块都共享一些代码,恐怕每个插件都会获得该代码。这将是非常低效的。我怎样才能使它更有效率?有没有更好的方式获取插件?

这就是 Code Splitting 的用途。

您可以将每个可选模块拆分成一个代码片段,让编译器发挥其魔力。编译器将查看哪些代码片段共享相同的代码,并且它可能会决定将这些片段合并为一个片段比将它们分开更有效。或者它可能会将一些代码移动到最后加载的片段中 - 在初始片段和用户立即需要的片段之后。

根据我的经验,与编译器自动为您完成的工作相比,手工很难有显着改进。我建议的唯一优化是使用最大数量的片段(即告诉编译器在合并相似片段时应该有多激进)——结果会略有不同,您可以根据您预期的应用程序选择最佳选项使用模式。