ElectronJS - 从远程服务器缓存HTML和JS文件

问题描述 投票:2回答:1

我有一个电子应用程序,使用函数mainWindow.loadURL('http://www.example.com/index.html')从远程服务器检索应用程序文件(.html和.js)

如果用户与Internet的网络连接脱机或断开连接,则会出现问题。

电子是否有办法缓存html和js文件,以便在用户离线时,电子将自动从缓存加载。

我曾尝试使用HTML5应用程序缓存和webpack https://github.com/NekR/offline-plugin的插件,但这些似乎不起作用。

javascript html5 caching electron application-cache
1个回答
0
投票

我看到这是一个老问题,但我在进行半相关搜索时偶然发现了这一点,现在没有答案,所以我将提供一个:


忽略这个问题的电子特性,网络标准的方法是使用服务工作者。以下是一些文档:

我认为这将是解决这个问题的最直接的方法,即使在Electron中也是如此。 (这里Electron的一个优点是你有一个单一的,已知的浏览器可以使这个工作,但我认为你想要做的事情完全符合服务工作者旨在解决的问题空间。)


也就是说,我认为Sayam的评论/问题是有效的 - 如果这个html / js是你的电子应用程序的实际内容,并且假设它不会经常改变你可以(也许应该)用应用程序本身分发它。然后,您不需要为脱机支持做任何特殊操作(只要html / js不需要基于网络的资源),并且对该代码的更改将作为应用程序更新进行部署。

就个人而言,我认为每周一次是关于这种方法适合的最新更新频率。如果一个应用程序每月自动更新2或3次,我不会打扰我,但我想我会卸载一个应用程序,如果我有这个选项,每周更新2或3次。


可能还有一些电子和/或节点模块可以解决这个问题空间,但我从来没有费心去看,因为上面两个选项之一似乎总是适合我。

© www.soinside.com 2019 - 2024. All rights reserved.