为什么firebase部署报错?执行firebase serve返回404错误
Firebase托管
firebase serve返回404错误排查步骤 - 第一步:核对firebase.json的公开目录配置
执行firebase init时会要求填写托管资源的公开目录,默认值为public。如果你的网站文件存放在其他目录(比如自定义命名的src、site文件夹,或者直接放在项目根目录),需要修改firebase.json中hosting节点的public字段为对应目录名。正确的配置参考:
确认所有html、css、js文件都存放在上述public字段对应的目录下,没有出现文件漏放、层级放错的情况。{ "hosting": { "public": "你的网站资源所在文件夹名称", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ] } } - 第二步:核对入口文件与访问路径规则
Firebase托管默认的首页入口文件为index.html,如果你的首页文件不是这个名称,或者需要访问其他次级页面,有两种解决方式:- 访问路径补全html后缀,比如要打开list.html,完整访问地址应为
http://localhost:5000/list.html - 在firebase.json的hosting节点下增加rewrites规则,适配多页面路由,配置示例:
{ "hosting": { "public": "public", "rewrites": [ { "source": "**", "destination": "/index.html" } ] } } - 访问路径补全html后缀,比如要打开list.html,完整访问地址应为
- 第三步:核对命令执行路径
执行firebase serve的终端路径必须是项目根目录,也就是firebase.json文件所在的目录,如果在子目录下执行命令,会无法识别配置文件,导致资源加载失败返回404。 - 第四步:清理缓存重试
如果上述配置都正确,可执行firebase serve --only hosting指定仅启动托管服务,排除其他Firebase产品的干扰。仍报错的话可以删除项目根目录下的.firebase缓存文件夹后重新执行命令。
内容的提问来源于stack exchange,提问作者Rahma88
相关产品推荐
相关产品推荐

