首页 > 解决方案 > 如何使 S3 Cloudfront 上部署的 Gatsby 网站上的服务工作者缓存失效?

问题描述

我正在建立我的第一个 Gatsby 网站。我们将它托管在 AWS S3 上。我们也使用gatsby-plugin-offline.

到目前为止,我无法找到一个很好的解决方案来解决如何在新部署后使缓存失效。

即使我手动取消注册 sw.js 服务工作者并通过 Devtools -> 应用程序 -> 清除存储清理站点数据,浏览器仍会继续加载缓存版本(缺少添加的页面,显示旧文本内容等)。

对于部署,我使用amplify.

部署新版本时如何使旧缓存失效?

谢谢。

标签: deploymentamazon-cloudfrontbrowser-cachegatsby

解决方案


您是否检查了gatsby-auth-starter-aws-amplify的放大配置?离线插件在此启动器中处于活动状态,它是部署 gatsby 以放大的推荐启动器

另一种解决方案是将s3 插件与 aws-cli 一起使用

Gatsby 的缓存文档解释了 Gatsby 正常工作的缓存规则。常见问题是由 HTML 页面的缓存引起的(HTML 文件中的 cache-control 标头应该是cache-control: public, max-age=0, must-revalidate


推荐阅读