我已经尝试解决这个问题两天了,但我还没有找到可行的解决方案:(
我正在将我的 React 单页应用程序部署到 Firebase Hosting 上,但部署后我得到了这个著名的页面“Firebase Hosting Setup Complete”。 我尝试从 public 和 build 文件夹中的 index.html 进行部署,但它们都不起作用。看起来我在初始化后没有在项目中创建 firebase.json 或 firebaserc 文件。难道是这个原因?
以下是设置的屏幕截图: 在此输入图片描述
请确保项目构建正确完成。
构建时
firebase init
有时无法正常工作。
因此,在
npm run build
之前手动运行构建命令(例如:
firebase deploy
)
我找到了解决方案。 我实际上是在我的项目 /users/maxime 而不是 /users/maxime/projectname 之外运行命令!
在此代码上更新您的index.html文件,然后命令
npm run build
然后firebase deploy
它将正常工作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
当您在部署后使用 firebaseCLI 进行部署时,它会提供您的 Hosting URL 以 .web.app 结尾。它显示 Firebase 托管设置已完成。
解决方案 1 -> 只需将 URL 结尾 ".web.app" 更改为 ".firebase.app"
解决方案 2 -> 转到 firebaseConfig 中的目录 build/web/index.html 并查看 authDomain: "blablabla.firebase.app" 并在浏览器中运行此 URL!
检查文件夹路径是否正确