我正在使用Flutter Web创建一个网站。该网站正在生产中,我们每周发布一个版本。一些用户在获取新版本的web应用程序时遇到了麻烦。我想设置我的网站不缓存数据。
我添加了这些标签,但是没有成功:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
这是你的团队的决定,但你不会很好地与versioned URLS
合作?这是我所知道的缓存无效的最简单的技巧。在index.html
文件中,您可以在请求之前将唯一的VERSION_CODE传递给main javascript bundle file
,例如
<script src="main.dart.js?VERSION_CODE=7672" type="application/javascript"></script>
然后每次做flutter build web
之前,你需要更新你的index.html文件的VERSION_CODE,从而使客户端无效,当他们请求你的包。您可以自动执行此操作,但是没有办法将环境变量传递给flutter build web
步骤。