【问题标题】:How to know if service worker was updated in gatsby-plugin-offline如何知道服务工作者是否在 gatsby-plugin-offline 中更新
【发布时间】:2018-01-09 15:28:45
【问题描述】:
【问题讨论】:
标签:
javascript
reactjs
service-worker
gatsby
【解决方案1】:
目前gatsby-plugin-offline 是sw-precache 的包装器,除了配置选项中显示的缓存设置之外,不提供任何直接挂钩。看起来有几种方法可以通过 sw-precache 解决这个问题,因此可能值得在 gatsby 问题页面上处理 PR 或功能请求。
【解决方案2】:
我一直在寻找完全相同的答案。
有一个您可以挂钩的事件,称为“onServiceWorkerUpdateFound”。
只需创建(如果您还没有)gatsby-browser.js 文件并执行类似的操作。
gatsby-browser.js
exports.onServiceWorkerUpdateFound = () => {
// do something
};
我创建了一个<div>,它显示了一个“新版本可用”消息,其中包含一个重新加载页面的 onClick 事件(这将激活新的 service worker)。
更多信息:Gatsby Browser APIs