如何更新部署在 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"
          }
        ]
      }

    ]
  }


}
  1. 调整您的项目并保存更改;
  2. 更改 pubspec.yaml 上的版本(例如从 1.0.0+1 到 1.0.1+1);
  3. 运行 flutter build web
  4. 运行 firebase 部署