为什么新的服务工作人员在部署新的构建版本后没有进行反思?[Flutter web]

4sup72z8  于 2023-02-25  发布在  Flutter
关注(0)|答案(1)|浏览(111)

我的flutter Web遇到了一个问题。使用新的Web构建版本上传或部署后,我无法获得新版本的Service Worker。只有在清除Web缓存时才能获得新版本,即使刷新Web也不会获得较新的版本,但有时会加载较新的版本,有时刷新Web也不会反映新的Service Worker。
解决方案尝试解决此问题。
1.已尝试在pubspec中更改应用程序的版本。
1.已尝试无缓存 meta标记。
1.已尝试在index.html中处理缓存删除。

window.addEventListener('load', function(ev) {
   // Download main.dart.js
   _flutter.loader.loadEntrypoint({
     entrypointUrl: "/main.dart.js", 
     serviceWorker: {
       serviceWorkerVersion: serviceWorkerVersion,
       serviceWorkerUrl: "/flutter_service_worker.js?v=",
     }
   }).then(function(engineInitializer) {
     return engineInitializer.initializeEngine();
   }).then(function(appRunner) {
     return appRunner.runApp();
   });
 });
</script>

我知道自从flutter发布web支持以来这个问题一直存在。我已经面对这个问题很久了。所以有人找到了一个最小的解决方案来解决这个问题,或者我们如何强制刷新窗口并删除该高速缓存?
正如我们所知,PWA是自动更新时发现的新版本。是完美的工作与Flutter网页,但不是网页时,我们打开它在浏览器窗口。

ubby3x7f

ubby3x7f1#

转到web/index.html并更改main.dart版本:

main.dart.js
to 
main.dart.js?version=your version

相关问题