我已经安装了gatsby-plugin-offline,它工作正常,但我想收听sw更新事件,以便我可以通知用户新版本的应用程序可用。
在此之前,我使用offline-plugin我推测是behinde gatsby的插件?他们有文档解释如何在这里实现我想要的东西:https://github.com/NekR/offline-plugin/blob/master/docs/updates.md但我无法弄清楚如何通过gatsby获得这些事件,任何建议人员?
答案 0 :(得分:1)
目前gatsby-plugin-offline
是sw-precache的包装器,除了配置选项中显示的缓存设置之外,它不提供任何直接挂钩。通过sw-precache看起来有很多方法,所以在gatsby问题页面上处理PR或功能请求可能是值得的。
答案 1 :(得分:1)
我一直在寻找完全相同的答案。
有一个事件可以挂接到一个名为“ onServiceWorkerUpdateFound”的事件。
只需创建(如果尚未创建)gatsby-browser.js
文件,然后执行类似的操作即可。
gatsby-browser.js
exports.onServiceWorkerUpdateFound = () => {
// do something
};
我创建了一个<div>
,其中显示了“可用新版本”消息,并带有一个onClick事件,该事件重新加载了页面(然后将激活新的Service Worker)。
更多信息:Gatsby Browser APIs