如何更新在 Firebase 托管中部署的 Flutter Web 版本
Posted
技术标签:
【中文标题】如何更新在 Firebase 托管中部署的 Flutter Web 版本【英文标题】:How to update version of a Flutter Web deployed in Firebase Hosting 【发布时间】:2021-09-27 07:42:38 【问题描述】:在旧版本的 Flutter 中,web/index.html 文件是使用内部调用 main.dart.js 的脚本构建的,但该脚本在较新版本中被删除,我曾经添加一个“版本”属性来指定版本,如何更新部署在 Firebase Hosting 上的 Flutter Web 版本?现在还有其他办法吗?
/// Original
<script src="main.dart.js" type="application/javascript"></script>
/// Modified
<script src="main.dart.js?version=10" type="application/javascript"></script>
【问题讨论】:
【参考方案1】:尝试运行
flutter clean
flutter pub get
flutter build web
然后firebase deploy
【讨论】:
我知道了,但之前运行了“flutter clean”命令。【参考方案2】:我最终在 body 标记中手动添加了这个脚本,并在 firebase.json 文件中禁用了缓存。
index.html
<script src="main.dart.js?version=10" type="application/javascript"></script>
firebase.json
"hosting":
"public": "build/web",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
"source": "**",
"headers": [
"key": "Cache-Control",
"value": "no-cache"
]
]
【讨论】:
【参考方案3】:-
调整您的项目并保存更改;
更改 pubspec.yaml 上的版本(例如从 1.0.0+1 到 1.0.1+1);
运行 flutter build web
运行 firebase deploy
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何更新在 Firebase 托管中部署的 Flutter Web 版本的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 托管 Flutter Web 应用程序未清除首次部署的缓存
如何在 firebase 托管中托管单页 webapp 的静态文件,并将 web API 部署在不同的服务器中
如何在 Firebase 托管上部署流线型 python 应用程序?