【问题标题】:Firebase site not updating for people who previously viewed site (firebase caching?)Firebase 网站没有为之前查看过网站的人更新(firebase 缓存?)
【发布时间】:2018-10-02 06:29:24
【问题描述】:

在过去的几天里,我对我的 Firebase 站点 https://scratch-gui.firebaseapp.com/ 进行了几处更改。在开发网站时,我计划定期部署和构建网站。

如果我在普通浏览器中访问该网站,我最近的更改都不会出现。例如,当我访问主页时,我的导航仍然是这样的:

但如果我在隐身窗口或以前没有访问过该网站的设备中访问,它看起来像这样:

我认为这可能是由于缓存的原因,可能需要几个小时,但此时已经过去了几天。 Firebase 部署缓存的默认设置是什么?

当我与他人共享网站时,我更关心的是开发而不是更多。我希望在重新部署后出现更改,而无需用户在每次访问时清除缓存。 Firebase上是否有缓存刷新时间设置?我可以做些什么来确保我的用户获得我网站的最新版本?

更新:

我已将我的firebase.json 更新为以下内容:

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "headers": [
      {
        "source": "*.*",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "max-age=30"
          }
        ]
      }
    ]
  }
}

现在看来,当我正常刷新时,它会恢复到旧站点。当我运行硬刷新时,它会显示该站点的最新版本。我知道这听起来很奇怪,所以我制作了一个视频。

Youtube video of refresh vs hard refresh behavior

现在我真的很困惑是什么原因造成的。

更新 2:

这是来自 chrome 调试器的 service worker 列表。

【问题讨论】:

  • Chrome Dev Tools的Application页面是否安装了Service Worker?
  • 我从 chrome 开发工具中添加了 service worker 列表。这有帮助吗?我想我不确定这意味着什么?
  • Service Worker 通常用于在客户端缓存内容,以便在浏览器中缓存旧版本。 How you can unregister a SW in Chrome 将是一个很好的调试步骤。

标签: firebase firebase-hosting


【解决方案1】:

如果没有看到您的配置和实际的 URL,很难说太多,所以我将描述 Firebase 托管在这种情况下的工作原理。

Firebase 托管会在您部署更新时刷新所有 CDN 边缘 (firebase deploy)。 Firebase 托管没有指定最小缓存间隔。

但您当然可以在firebase.json 配置文件中为您的内容指定缓存,如下所示:https://firebase.google.com/docs/hosting/url-redirects-rewrites#section-headers

【讨论】:

  • 嗨弗兰克!我在问题中添加了 url 和 firebase.json。我正在部署到 scratch-gui.firebaseapp.com 并且还有一个自定义域 codechampionship.com
  • 我还添加了一些奇怪行为的视频,以防万一。
  • Hmmm.... 我确实看到这些项目被缓存的时间超过了缓存标头的 30 秒。我不确定为什么会发生这种情况,因为标头可以很好地访问浏览器。但我很高兴,因为您下载了 16MB (!!!) lib.min.js,即使在我相对较快的连接上也需要 20-30 秒。
  • 是的,它包括一个拖放 IDE(临时),所以我敢肯定它很重。我还没有为性能做任何事情。
猜你喜欢
  • 2019-11-13
  • 2012-01-14
  • 1970-01-01
  • 2022-07-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多