我有一个GWT(好吧,GXT)应用程序,它使用外部JavaScript库为我的应用程序添加功能。我的应用程序也必须脱机工作,这就是我的问题。
我知道将文件添加到公共文件夹将使我们的GWT应用程序可以访问它们,但这在离线使用时不起作用。 GWT编译我的应用程序以使其脱机可用而没有问题,但它不包括外部JavaScript库。
因此,每当我在应用程序中工作并达到需要所述库的位置时,浏览器将尝试GET请求,因为尚未加载库并且不会可靠地保留在浏览器的缓存中。
有没有办法将库添加到我的应用程序,以便它将与我的GWT应用程序一起缓存?该库由几个文件夹,JS文件,图像,CSS等组成。我唯一的想法是动态创建一个Appcache Manifest,它将所有文件转储到浏览器缓存中。在这种情况下,我害怕打破GWT离线功能。
答案 0 :(得分:3)
是的,您可以在编译时生成清单。只需使用扩展com.google.gwt.core.ext.linker.AbstractLinker。
的链接器参见例如this example manifest linker 或者查看Writing a GWT Linker 或参见this stackoverflow thread
我这样做是为了包含谷歌字体并生成一个清单,该清单只包含该特定语言排列的文件。