【问题标题】:react app not deployed correctly with firebase [closed]使用firebase未正确部署反应应用程序[关闭]
【发布时间】:2020-11-27 19:32:17
【问题描述】:

这是我第一次使用 firebase 部署 react 应用程序,在看了一些教程后,我仍然得到相同的结果。当我单击指向我网站的 firebase url 时,我得到的是这张图片而不是我的网站:

我按照以下步骤操作:

1)cd to my react app 
2) npm install firebase-tools -g 
3)firebase login 
4) firebase init 
   -hosting setup 
What do you want to use as your public directory? build 
 Configure as a single-page app (rewrite all urls to /index.html)? Yes
 Set up automatic builds and deploys with GitHub? No
 File build /index.html already exists. Overwrite? No
  Skipping write of build /index.html
5) npm run build 
6) firebase deploy 

所以部署是成功的,但我没有得到我的应用程序,而是这个屏幕。

【问题讨论】:

  • 我看不出你的反应应用程序是如何参与这些说明的。如果要部署某些内容,则必须将一些内容放在公用文件夹中。默认情况下,您会得到您在屏幕截图中看到的内容。
  • @DougStevenson 你在文件夹中放置一些东西是什么意思你能提供一个例子吗?当您说公共时,我想到了使用 create react app 构建的公共文件夹
  • 我认为您可能需要非常仔细地查看 Firebase 托管的文档,因为您错过了有关公用文件夹的一些详细信息。它需要包含您要部署的内容。默认情况下,托管不知道您要做什么-您必须清楚。 firebase.google.com/docs/hosting/quickstart
  • @DougStevenson 在我的 .firebasesrc 中,我在“项目”对象中将我的项目作为默认项目我在开始时选择了我的项目
  • 这些事情与将内容放在文件夹用户中进行部署无关。您选择了“构建”。现在,您必须删除默认放置在那里的内容,并将内容放在那里以进行部署。

标签: reactjs firebase firebase-hosting


【解决方案1】:

我建议查看documentation

指定要用作公共根目录的目录。

此目录包含您所有公开提供的静态文件, 包括您的 index.html 文件和您想要的任何其他资产 部署到 Firebase 托管。

公共根目录的默认名称为public。

您可以现在指定公共根目录,也可以稍后在 firebase.json 配置文件中指定。

如果您选择默认并且还没有一个名为 public 的目录,Firebase 会为您创建它。

如果您的公共根目录中还没有有效的 index.html 文件或 404.html 文件,Firebase 会为您创建它们。

您创建了一个名为“build”的公用文件夹,但您没有将应用代码放入其中。它包含默认内容,如文档所述。您必须删除该默认内容并添加您自己的内容。然后,再次部署。

【讨论】:

  • 我会试试的。将所有文件拖放到该构建文件对我来说似乎很奇怪
  • 考虑告诉你的 react 构建将文件放在那里。或者想出一个命令行来将所有内容从一个地方复制到另一个地方。
猜你喜欢
  • 2018-11-20
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 2022-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-04
相关资源
最近更新 更多