Firebase托管React网站显示欢迎页而非实际页面问题求助
以下是针对性的排查和解决步骤:
1. 确认本地build目录有效性
执行npm run build后,打开本地build文件夹,检查是否包含index.html及static资源文件夹,且index.html内容是你的React应用代码而非Firebase默认欢迎页模板。若build内容异常,检查package.json的homepage字段——部署到根域名可设为"homepage": "."或直接删除该字段。
2. 验证firebase.json配置正确性
确保firebase.json的hosting配置指向正确目录且包含单页应用重写规则,正确配置示例:
{ "hosting": { "public": "build", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [ { "source": "**", "destination": "/index.html" } ] } }
若缺少rewrites节点,手动添加以保证单页应用路由正常跳转。
3. 检查部署日志的文件上传情况
执行firebase deploy --only hosting时,留意终端日志,确认存在Uploading build/index.html、Uploading build/static/js/main.xxx.js这类条目。若无相关上传记录,排查是否在.firebaseignore中误排除了build文件夹,或build目录路径设置错误。
4. 强制刷新Firebase CDN缓存
Firebase Hosting会缓存站点内容,即使重新部署,旧欢迎页可能仍存于缓存。登录Firebase控制台的Hosting页面,点击右上角「刷新缓存」按钮,选择「刷新整个站点」,再用隐身模式访问测试。
5. 确认项目关联准确性
检查.firebaserc文件,确保默认项目ID为recipe-661e9,内容示例:
{ "projects": { "default": "recipe-661e9" } }
避免误部署到其他Firebase项目。
6. 本地模拟托管测试
执行firebase serve启动本地托管服务,访问http://localhost:5000。若本地也显示欢迎页,说明问题出在本地build或配置环节;若本地正常显示React应用,则聚焦云端缓存或部署上传环节再次排查。
内容的提问来源于stack exchange,提问作者user19763623

