【问题标题】:How to know if service worker was updated in gatsby-plugin-offline如何知道服务工作者是否在 gatsby-plugin-offline 中更新
【发布时间】:2018-01-09 15:28:45
【问题描述】:

我已经安装了gatsby-plugin-offline,它工作正常,但我想监听 sw update 事件,以便通知用户有新版本的应用程序可用。

在此之前,我使用了offline-plugin,我推测这是 gatsby 的插件?他们有文档解释如何在这里实现我想要的:https://github.com/NekR/offline-plugin/blob/master/docs/updates.md 但我不知道如何通过 gatsby 获得这些事件,有什么建议吗?

【问题讨论】:

    标签: javascript reactjs service-worker gatsby


    【解决方案1】:

    目前gatsby-plugin-offlinesw-precache 的包装器,除了配置选项中显示的缓存设置之外,不提供任何直接挂钩。看起来有几种方法可以通过 sw-precache 解决这个问题,因此可能值得在 gatsby 问题页面上处理 PR 或功能请求。

    【讨论】:

    • 如果你写了你的答案,我不知道。但现在可以了。
    【解决方案2】:

    我一直在寻找完全相同的答案。

    有一个您可以挂钩的事件,称为“onServiceWorkerUpdateFound”。 只需创建(如果您还没有)gatsby-browser.js 文件并执行类似的操作。

    gatsby-browser.js

    exports.onServiceWorkerUpdateFound = () => {
        // do something
    };
    

    我创建了一个<div>,它显示了一个“新版本可用”消息,其中包含一个重新加载页面的 onClick 事件(这将激活新的 service worker)。

    更多信息:Gatsby Browser APIs

    【讨论】:

      猜你喜欢
      • 2021-06-26
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多