gpt4 book ai didi

Firebase 网站不会为之前浏览过网站的人更新(firebase 缓存?)

转载 作者:行者123 更新时间:2023-12-02 02:54:55 26 4
gpt4 key购买 nike

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

如果我在普通浏览器中访问该站点,则不会显示我最近的任何更改。例如,当我访问主页时,我的导航仍然是这样的:

enter image description here

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

enter image description here

我认为这可能是由于缓存造成的,可能需要几个小时,但此时已经有好几天了。 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 列表。

Service worker list from debugger

最佳答案

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

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

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

关于Firebase 网站不会为之前浏览过网站的人更新(firebase 缓存?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49960266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com