The service worker uses an internal version number and should update predictably based on that. The SW also explicitly bypasses the cache when requesting updated resources to ensure it obtains the latest version from the server. Usually if you have a problem with it still not updating, it's because something is wrong on the server side, like a CDN that is immutably caching resources so they cannot actually be updated. Unfortunately that's outside of the service worker's control. If that is a problem and you can't figure out how to fix the server-side, then one other solution is to put the version in the URL - e.g. the first export goes to example.com/v0/index.html, the second goes to example.com/v1/index.html, and so on.