Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stop saving in cache memory Flutter web Firebase hosting

I designed a web app using the Flutter web. I hosted it with Firebase host. But It's not showing changes of my code after deploying to firebase. It's still showing my older version of web app. But I can overcome this problem by clearing cache memory of browser or ctrl+refresh. But I don't want to do this every time I deploy to firebase. How to stop saving my web app in cache memory?

hosted link: https://frcovid19dashboard.web.app

like image 923
Faslur Rajah Avatar asked Apr 18 '20 09:04

Faslur Rajah


2 Answers

Append a version number to your main.dart file. Every time you do changes that require the browser to clear cash, change the appended version number before you upload changes so the browser knows something has change and it needs to clear the cash. For example:

First Version:

<script src="main.dart.js?version=1" type="application/javascript"></script>

Next time you make changes:

<script src="main.dart.js?version=2" type="application/javascript"></script>

And so on. Check this link.

like image 162
unbalanced_equation Avatar answered Nov 13 '22 01:11

unbalanced_equation


Another approach would be to prevent caching via HTTP headers. For Firebase Hosting that would be : https://firebase.google.com/docs/hosting/full-config#headers

I guess you could set up something like this inside the site entry in your firebase.json:

"headers": [
  {
    "source": "**",
    "headers": [
      {
        "key": "Cache-Control",
        "value": "no-cache"
      }
    ]
  }
]
like image 37
klydra Avatar answered Nov 13 '22 03:11

klydra