Gatsby 博客 - 每篇新文章都需要在构建后硬刷新

kli*_*kub 4 hosting blogs reactjs gatsby

我有 gatsby 博客,在我创建新帖子并构建静态文件后,将它们上传到我的主机上,每个用户都必须在我的博客上进行硬刷新才能看到更改。

上传新版本后如何在下次访问时自动刷新?

Eli*_*ant 5

这种行为的另一个原因是在我的情况下是由gatsby-plugin-offline.

服务工作者被编程为在导航时更新。问题是,当用户访问主页并且不再导航时,将看不到 UPDATE。如果您有一页网站,您基本上永远不会看到更新,因为无处可导航!

如果您希望页面自动刷新并使旧缓存失效,则需要触发它。如果您有gatsby-plugin-offline,请gatsby-config.js将此行添加到您的gatsby-browser.js

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

这里有一些来自官方 github 存储库的关于这个问题的背景信息


正如@coreyway 指出的那样,自动执行此操作可能会有问题。我认为这种行为仍然比坚持使用已弃用的网站版本要好。如果您担心 UX,链接的 GitHub 问题讨论了一种解决方案,让用户通过单击更新通知消息来触发更新。