【发布时间】:2021-04-17 08:13:55
【问题描述】:
我想构建一个 Flutter Web 应用程序,它在运行时读取本地数据。据我所知,flutter web是不支持file io的,所以我改用Asset来读取数据。
问题来了:资产文件有时会发生变化。每次运行网络应用程序时,我都需要重新加载资产文件。我发现只有在 Chrome 中使用 隐身模式 后,资产数据才会更新。那就是说数据以某种方式缓存在 chrome 中?
不知道资产数据在flutter中是如何使用的,资产数据是如何缓存在浏览器中的。
以下是我想做的简单重现步骤:
- 创建一个 Flutter Web 应用程序
- 创建一个简单的SQLite数据库并从
Flutter Asset初始化 - 在本地构建并运行它
- 以某种方式更新数据库
- 重新运行 Flutter 应用
- 如果我使用隐身模式,数据会正确更新
不知道缓存在Flutter中可以清空还是需要在Javascript中完成。
任何建议和解释都非常感谢!
【问题讨论】:
-
您不需要使用隐身模式。您可以在 Chrome > devtools > 网络选项卡 > 禁用缓存中禁用缓存。但是,您可能需要保持 devtools 窗口打开以使设置保持不变。
-
@ambiguous58 感谢您的建议。但我不是在寻找一个已开发的解决方案,而是一个通用的发布解决方案。
标签: javascript flutter browser-cache