我使用Flutter web设计了一个web应用程序。我用Firebase主机主持了它。但它并没有显示部署到firebase后我的代码的更改。它仍然显示我的旧版本的网络应用程序。但我可以通过清除浏览器或ctrl+refresh
的缓存来克服这个问题。但我不想每次部署到火场都这么做。如何停止在缓存中保存我的web应用程序?
托管链接:https://frcovid19dashboard.web.app
将版本号附加到main.dart文件中。每次您进行需要浏览器清除现金的更改时,请在上传更改之前更改附加的版本号,以便浏览器知道有什么更改,需要清除现金。例如:
第一个版本:
<script src="main.dart.js?version=1" type="application/javascript"></script>
下次更改时:
<script src="main.dart.js?version=2" type="application/javascript"></script>
等等。查看此链接。
另一种方法是防止通过HTTP头进行缓存。对于Firebase主机,这将是:https://firebase.google.com/docs/hosting/full-config#headers
我想你可以在firebase.json
:的网站条目中设置这样的东西
"headers": [
{
"source": "**",
"headers": [
{
"key": "Cache-Control",
"value": "no-cache"
}
]
}
]