Firebase Hosting部署报错:解析无站点/目标名的托管目标断言失败
问题分析与解决方案
报错的核心原因是你的firebase.json中hosting数组的第一个条目既没有指定site(Firebase控制台的站点ID)也没有指定target(预定义的部署目标名),Firebase CLI无法确定这个条目要部署到哪个站点,从而触发断言错误。
同时你当前的hosting配置存在重复:两个条目都指向dist/nur目录,第一个条目属于冗余配置,这也是导致部署逻辑混乱的原因之一。
解决步骤
清理冗余的hosting配置
编辑firebase.json,移除hosting数组中第一个没有site/target的条目,保留带target: "nur"的条目即可。修改后的hosting配置如下:"hosting": [ { "target": "nur", "public": "dist/nur", "ignore": ["**/.*"], "headers": [ { "source": "*.[0-9a-f]{20}.+(css|js)", "headers": [ { "key": "Cache-Control", "value": "public,max-age=31536000,immutable" } ] }, { "source": "/@(ngsw-worker.js|ngsw.json)", "headers": [ { "key": "Cache-Control", "value": "no-cache" } ] } ], "rewrites": [ { "source": "**", "destination": "/index.html" } ] } ]确认target与站点的关联关系
确保你已经将target: "nur"关联到项目nur-beta的实际站点ID,执行以下命令(如果还没关联):firebase target:apply hosting nur nur-beta这里的
nur-beta是你Firebase控制台中该站点的ID,若站点ID不同,请替换为实际值。执行部署命令
可以选择部署整个项目,或者仅指定部署hosting目标:# 部署所有资源(database、storage、firestore、hosting) firebase deploy # 仅部署指定的hosting目标 firebase deploy --only hosting:nur
内容的提问来源于stack exchange,提问作者Azad Usmani
相关产品推荐
相关产品推荐

