Firebase 托管未显示

lit*_*cal 8 firebase firebase-hosting flutter flutter-web

我正在使用Firebase Hosting托管一个Flutter Web项目。

firebase init当时就firebase deploy这样做了,但我的托管网站如下所示:

在此输入图像描述

我想你在托管时也遇到过这种错误。

lit*_*cal 18

回答我自己的问题,因为我没有找到对我有帮助的答案。所以我找到了出路。

\n

编辑(08/2023)

\n

完成firebase init并选择 firebase 提供的初始选项后,firebase 创建一个firebase.json文件,如下所示:

\n
{\n  "hosting": {\n    "public": "public",\n    "ignore": [\n      "firebase.json",\n      "**/.*",\n      "**/node_modules/**"\n    ]\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如果您firebase deploy在此处执行此操作,您将看到与问题中所示相同的网站。

\n

您可以采取以下措施来避免这种情况。

\n\n

flutter build web --web-renderer html --release(为了更快的下载速度)

\n

flutter build web --web-renderer canvaskit --release(为了流畅的性能)

\n

flutter build web --release也会起作用。

\n
    \n
  • STEP3:(firebase init仔细回答firebase问题)
  • \n
\n
? What do you want to use as your public directory? build/web\n? Configure as a single-page app (rewrite all URLs to /index.html)? yes\n? Set up automatic builds and deploy with GitHub? no\n? File build/web/index.html already exists. Overwirte? no\n
Run Code Online (Sandbox Code Playgroud)\n

现在,在执行之前firebase deploy,请确保将“public”目录更改为“build/web”,如下所示,因为这是 web flutter 已构建的。

\n
{\n  "hosting": {\n    "public": "build/web",\n    "ignore": [\n      "firebase.json",\n      "**/.*",\n      "**/node_modules/**"\n    ]\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  • 步骤4firebase deploy
  • \n
\n

需要记住的事情

\n
    \n
  1. 在 Firebase 初始化期间使用build/web目录而不是public公共目录

    \n
  2. \n
  3. 请勿覆盖,build/web/index.html因为 Firebase 会覆盖其自己的屏幕(问题中显示的屏幕)

    \n
  4. \n
\n

这就是您需要知道的全部内容。和平\xe2\x9c\x8c

\n