Firebase 托管 - 额外 .html 页面的 Flutter Web 应用程序托管

Firebase Hosting - Flutter Web App hosting of extra .html page

我目前正在开发一个托管在 Firebase 上的 Flutter 网络应用程序。 Web 应用程序为用户提供图像上传功能,它使用位于资产文件夹中的另一个 HTML 页面(这样做是因为我在此页面上使用了一些 JS 库 - 我没有找到 dart)。这个 html 页面在一个额外的 window 中从 dart 调用 - 在本地这工作正常 - 我只是在 localhost/assets/html/uploadImage.html[= 打开页面17=] 和 window 出现。但是,这在托管在 Firebase 上时不起作用。我在这里调用 /assets/html/uploadImage.html - 但只是得到一个空白页。我有点理解静态文件在 Firebase 上的托管方式与本地托管方式不同——但我不明白我在这里做错了什么。是否有一些可配置的东西也可以托管一个额外的页面?

很高兴听到您的想法!

另一种方法是将 html 添加到 Web 文件夹并从那里启动它,这样当您启动它时,您将看到 yourdomain.web.app/my.html

仅限 Flutter Web / Firebase 托管

如果您只想为 flutter web 提供静态 HTML 文件,您可以将它们放在 web 构建文件夹中。

您还需要调整 firebase hosting rewrite rules 以便您的应用不会自动从静态 html 文件重定向回应用。

以下示例将允许用户访问您的 app.com/example/staticwebpage.html 而无需重定向回 flutter app.

  "rewrites": [
    {
      "source": "/example/staticwebpage.html",
      "destination": "/example/staticwebpage.html",
    },
    {
      "source": "**",
      "destination": "/index.html"
    }
  ]

在 Flutter iOS 和 Android

上服务 HTML

如果您需要在 iOS 和 Android Flutter 应用程序上提供 HTML 文件,您将需要使用这些软件包之一。他们将在应用内网络浏览器中提供页面。