使用PWA服务工作者以离线模式保存/提供Web服务

时间:2018-11-10 22:08:46

标签: javascript cordova vue.js web-worker progressive-web-apps

我有一个vue.js / Cordova应用程序,在其中我希望来自Rest Web服务的数据可以脱机模式使用,首先想到的简单解决方案是使用本地存储API,方法是索引每个ws响应并使我前端服务在脱机模式下或互联网连接速度慢的情况下从本地存储返回数据。但是我认为直接使用本地存储API做到这一点非常棘手,并且我认为也许使用服务工作者和pwa概念可以正确地完成任务。 现在,我的问题是:在我的用例中,服务人员可以完成这项工作吗?其次,Cordova android / iOS应用程序中是否提供服务人员?最后,在移动设备上运行时,兼容性问题/使用风险可能是什么?

1 个答案:

答案 0 :(得分:3)

不幸的是,如果您使用cordova从文件url或http urls提供文件,除非您从网站提供服务,否则您可能会这样做,由于服务人员只能在安全上下文。参见https://www.w3.org/TR/service-workers-1/#secure-context。 但是,在iOS上,有一个插件可让您使用服务工作者,即使在没有本机支持的旧版iOS上也是如此。

即使不缺乏android的支持,服务人员也不会出现在足够多的平台中,无法用作应用程序的核心部分。

就您而言,因为您已经在使用vue,所以我建议使用Vuex, Vue’s Application Data Store. 您还可以获得其他好处。