如何在Firebase托管上托管Flutter Web(Hummingbird)

Mag*_*ian 2 firebase-hosting flutter flutter-web

我创建了一个抖动的Web项目,并在localhost上正常工作。因此,我计划将网站托管在firebase中。我遵循了已成功部署的命令,但在控制台中仅显示黑屏,并显示错误消息。

错误:

源“ https://myportfolioflutterweb.firebaseapp.com/web/main.dart.js ”的加载失败。SyntaxError:期望的表达式,得到了'<'[了解更多]

我的项目结构:

在此处输入图片说明

firebase.json:

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "redirects": [
    {
      "source": "/",
      "destination": "/web/index.html",
      "type": 302
    }
  ]
  }
}
Run Code Online (Sandbox Code Playgroud)

命令:

在此处输入图片说明

注意:当我将public dir作为公用文件夹时,它将创建index.html。我手动删除了文件,并导航到web / index.html路径

Mag*_*ian 8

最后,我解决了这个问题。我在Firebase托管的公用文件夹中导航错误的路径。要首先部署Flutter Web,我需要使用以下命令构建项目

建立

webdev build
Run Code Online (Sandbox Code Playgroud)

构建项目后,它将在项目内部创建一个构建文件夹 在此处输入图片说明 在我以root身份公开路径但构建正确路径之前

正确的路径:

 What do you want to use as your public directory? build
Run Code Online (Sandbox Code Playgroud)

我在下面附加了完整的Firebase托管部署命令,

在此处输入图片说明

  • 您的另一个错误是将其配置为单页应用程序。它不会找到您可能拥有的任何资产。 (2认同)