如何更新部署在 Firebase 托管中的 Flutter Web 版本
How to update version of a Flutter Web deployed in Firebase Hosting
在旧版本的 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>
尝试运行
flutter clean
flutter pub get
flutter build web
然后 firebase deploy
我最终在 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"
}
]
}
]
}
}
- 调整您的项目并保存更改;
- 更改 pubspec.yaml 上的版本(例如从 1.0.0+1 到 1.0.1+1);
- 运行 flutter build web
- 运行 firebase 部署
在旧版本的 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>
尝试运行
flutter clean
flutter pub get
flutter build web
然后firebase deploy
我最终在 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"
}
]
}
]
}
}
- 调整您的项目并保存更改;
- 更改 pubspec.yaml 上的版本(例如从 1.0.0+1 到 1.0.1+1);
- 运行 flutter build web
- 运行 firebase 部署