如何在每次部署时更新 flutter web 应用程序缓存文件?

Mah*_*our 7 flutter flutter-web

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

Dar*_*rio 2

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

flutter build web --pwa-strategy=none
Run Code Online (Sandbox Code Playgroud)

之后,您必须确保从客户端取消注册所有服务人员,否则您仍然会看到旧的en.json. 您可以将此脚本添加到您的index.html

flutter build web --pwa-strategy=none
Run Code Online (Sandbox Code Playgroud)