How to configure a website using Flutter Web to not cache data?

Viewed 1178

I am creating a website using Flutter Web. The website is in production and we release one version a week. Some users have trouble getting the new version of the web application. I would like to set my website to not cache data.

I added these tags, but to no succes:

  <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">
1 Answers

It's a decision for your team, but you wouldn't be fine working with versioned URLS? That is the easiest trick I know for cache invalidation. In the index.html file you can pass a unique VERSION_CODE to your main javascript bundle file before requesting it like

<script src="main.dart.js?VERSION_CODE=7672" type="application/javascript"></script>

And then everytime before doing a flutter build web you need to update the VERSION_CODE of your index.html file, thus invalidating the client side when they request your bundle. You can automate this, but there's no way to pass environment variables to flutter build web step.

Related