【问题标题】:how to update flutter web application cached files on each deploy?如何在每次部署时更新颤振 Web 应用程序缓存文件?
【发布时间】:2021-08-04 07:02:03
【问题描述】:

我使用自定义 Flutter 本地化和包含所有应用程序字符串的 en.json 文件,但是在第一次部署 Web 应用程序后,flutter service worker 缓存 en.json 并且它将使用第一个缓存的 en.json所有下一个部署都会导致具有新字符串的新Text 小部件(不在第一个en.json 中)失败断言data != null。 有没有办法强制 Flutter Web 应用在每次部署后更新缓存的资产?

【问题讨论】:

标签: flutter flutter-web


【解决方案1】:

这是因为在客户端后台运行的服务工作者。如果您不需要缓存和 PWA 功能,您可以在没有它的情况下构建应用程序。

flutter build web --pwa-strategy=none

之后,您必须确保从客户端注销所有服务人员,否则您仍会看到旧的 en.json

if ('serviceWorker' in navigator) {
 navigator.serviceWorker.getRegistrations()
  .then(function(registrations) {
     for(let registration of registrations) {
       registration.unregister();
     }
 });
}

【讨论】:

  • 谢谢,我的应用程序需要缓存。但是每当我发布更新时,我都需要更新缓存文件。
  • 我在某处读到他们正在研究解决方案。也许这有帮助:github.com/flutter/flutter/issues/55967
猜你喜欢
  • 2020-10-26
  • 2019-07-29
  • 2014-05-15
  • 2018-10-19
  • 1970-01-01
  • 2021-04-01
  • 2018-09-05
  • 2021-10-02
  • 1970-01-01
相关资源
最近更新 更多