如何知道 service worker 是否在 gatsby-plugin-offline 中更新
How to know if service worker was updated in gatsby-plugin-offline
我已经安装了 gatsby-plugin-offline,它工作正常,但我想监听 sw 更新事件,以便我可以通知用户新版本的应用程序可用。
在此之前我使用了 offline-plugin Which I speculate is behinde gatsby's plugin? They have doc explaining how to achieve what I want here: https://github.com/NekR/offline-plugin/blob/master/docs/updates.md 但我不知道如何通过 gatsby 获取这些事件,有什么建议吗?
目前 gatsby-plugin-offline
是 sw-precache 的包装器,除了配置选项中显示的缓存设置外,不提供任何直接挂钩。看起来有一些方法可以通过 sw-precache 解决这个问题,所以在 gatsby 问题页面上处理 PR 或功能请求可能是值得的。
我一直在寻找完全相同的答案。
有一个事件你可以挂钩,叫做 "onServiceWorkerUpdateFound"。
只需创建(如果您还没有)一个 gatsby-browser.js
文件并执行类似的操作。
盖茨比-browser.js
exports.onServiceWorkerUpdateFound = () => {
// do something
};
我创建了一个 <div>
,它显示了一个 "new version available" 消息,其中包含一个重新加载页面的 onClick 事件(这将激活新的服务工作者)。
更多信息:Gatsby Browser APIs
我已经安装了 gatsby-plugin-offline,它工作正常,但我想监听 sw 更新事件,以便我可以通知用户新版本的应用程序可用。
在此之前我使用了 offline-plugin Which I speculate is behinde gatsby's plugin? They have doc explaining how to achieve what I want here: https://github.com/NekR/offline-plugin/blob/master/docs/updates.md 但我不知道如何通过 gatsby 获取这些事件,有什么建议吗?
目前 gatsby-plugin-offline
是 sw-precache 的包装器,除了配置选项中显示的缓存设置外,不提供任何直接挂钩。看起来有一些方法可以通过 sw-precache 解决这个问题,所以在 gatsby 问题页面上处理 PR 或功能请求可能是值得的。
我一直在寻找完全相同的答案。
有一个事件你可以挂钩,叫做 "onServiceWorkerUpdateFound"。
只需创建(如果您还没有)一个 gatsby-browser.js
文件并执行类似的操作。
盖茨比-browser.js
exports.onServiceWorkerUpdateFound = () => {
// do something
};
我创建了一个 <div>
,它显示了一个 "new version available" 消息,其中包含一个重新加载页面的 onClick 事件(这将激活新的服务工作者)。
更多信息:Gatsby Browser APIs