[英]ElectronJS - Cache HTML and JS files from remote server
我有一個電子應用程序,它使用函數mainWindow.loadURL('http://www.example.com/index.html')
從遠程服務器檢索應用程序文件(.html 和 .js mainWindow.loadURL('http://www.example.com/index.html')
如果用戶與 Internet 的網絡連接脫機或斷開連接,則會出現問題。
電子中有沒有辦法緩存html和js文件,這樣如果用戶離線,電子會自動從緩存中加載。
我曾嘗試使用 HTML5 應用程序緩存和 webpack 插件https://github.com/NekR/offline-plugin但這些似乎不起作用。
我看到這是一個老問題,但我在進行半相關搜索時偶然發現了這個問題,現在根本沒有答案,所以我將提供一個:
忽略此問題的特定於電子的性質,執行此操作的網絡標准方法是使用 Service Workers。 這里有一些關於這個的文檔:
我認為這將是解決這個問題的最直接方法,即使在 Electron 中也是如此。 (這里 Electron 的一個優勢是你有一個單一的、已知的瀏覽器來完成這項工作,但我認為你正在嘗試做的事情非常適合 Service Workers 旨在解決的問題空間。)
也就是說,我認為 Sayam 的評論/問題是有效的——如果這個 html/js 是您的電子應用程序的實際內容,並且假設它不會經常更改,您可以(也許應該)將它與應用程序本身一起分發。 然后你不需要為離線支持做任何特別的事情(只要 html/js 不需要基於網絡的資源),並且對該代碼的更改部署為應用程序更新。
我個人認為每周一次是這種方法適用的最大更新頻率。 如果應用程序每月自動更新 2 或 3 次,我不會打擾我,但我想如果我有這個選項,我會卸載每周更新 2 或 3 次的應用程序。
可能還有一些電子和/或節點模塊可以解決這個問題空間,但我從來沒有費心去看,因為上述兩個選項之一對我來說似乎總是合適的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.