如何在 GWT 离线应用程序中包含外部 Javascript

Posted

技术标签:

【中文标题】如何在 GWT 离线应用程序中包含外部 Javascript【英文标题】:How to include external Javascript in GWT offline application 【发布时间】:2013-01-22 20:33:37 【问题描述】:

我有一个 GWT(好吧,GXT)应用程序,它使用外部 javascript 库向我的应用程序添加功能。我的应用程序也必须离线工作,这就是我的问题。

我知道将文件添加到公用文件夹将使我的 GWT 应用程序可以访问它们,但这在离线使用的情况下不起作用。 GWT 编译我的应用程序使其可以离线使用而不会出现问题,但它不包含外部 JavaScript 库。

因此,每当我在应用程序中工作并到达需要所述库的点时,浏览器将尝试 GET 请求,因为该库尚未加载并且不会可靠地保留在浏览器的缓存中。

有没有办法将库添加到我的应用程序中,以便与我的 GWT 应用程序一起缓存?该库由几个文件夹、JS 文件、图像、CSS 等组成。我唯一的想法是动态创建一个 Appcache Manifest,将所有文件转储到浏览器缓存中。在这种情况下,我害怕破坏 GWT 离线功能。

【问题讨论】:

【参考方案1】:

是的,您可以在编译时生成清单。只需使用扩展 com.google.gwt.core.ext.linker.AbstractLinker 的链接器。

例如见this example manifest linker 或见Writing a GWT Linker 或查看this *** thread

我这样做是为了包含 google 字体并生成一个清单,该清单将只包含该特定语言排列的文件。

【讨论】:

谢谢!链接器正是我想要的。需要稍微调整我的应用程序以包含所有内容,但据我所知它运行良好。

以上是关于如何在 GWT 离线应用程序中包含外部 Javascript的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WPF 应用程序中包含外部字体而不安装它

如何在cordova ios应用程序中包含外部<img>标签

如何在 ARM 模板中包含外部逻辑应用实现

如何使用 Eclipse 中包含的外部库创建 jar?

如何在反应中包含外部javascript

如何在 maven jar 构建过程中包含外部 jar?