需要刷新之前访问的Gatsby站点才能查看更改

需要刷新之前访问的Gatsby站点才能查看更改

本文介绍了需要刷新之前访问的Gatsby站点才能查看更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Netlify上托管了一个Gatsby站点。当我部署一个新版本时,在页面刷新之前,我对站点所做的更改是不可见的。有人知道为什么会发生这种情况吗?

我使用gatsby-plugin-offline&;gatsby-plugin-manifest。我看到我可以安装gatsby-plugin-remove-serviceworker插件来删除服务工作者,但如果可能的话,我想继续使用它。

这是一个很难搜索的问题,因为我得到了有关本地目录中.cache文件夹的结果

推荐答案

问题:您的服务人员仍显示旧页面

在Gatsby中,服务人员被编程为在导航时更新。服务工作者通过使用gatsby-plugin-offline插件自动加入您的站点。

问题是,当用户访问主页并且没有进一步导航时,将看不到任何更新。如果希望页面在首次访问时自动刷新并使旧缓存无效,则需要触发它。

解决方案:

您可以使用官方Gatsby Browser API触发更新服务工作者。

如果您的gatsby-config.js中有gatsby-plugin-offline,请将此行添加到gatsby-browser.js

// trigger an immediate page refresh when an update is found
export const onServiceWorkerUpdateReady = () => window.location.reload();

这里是来自官方GitHub存储库的一些关于此问题的background information

这篇关于需要刷新之前访问的Gatsby站点才能查看更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 02:41