You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Hosting部署错误:检测到0个文件(附firebase.json)

Firebase Hosting部署提示「检测到0个文件」的解决办法

问题核心分析

从配置和日志来看,问题集中在ignore规则错误、JSON语法错误以及predeploy脚本路径不匹配这几个点,导致Firebase无法识别要部署的dist文件。

具体修复步骤

1. 修复JSON语法错误

你的firebase.json中hosting的ignore数组最后一项多了冗余逗号,这会导致JSON解析失败,Firebase无法正确读取配置:

"ignore": [
  "*",
  "!dist/",
  "!dist/*",  // 删掉这个多余的逗号
],

2. 修正ignore规则

原规则!dist/+!dist/*无法正确匹配dist目录下的所有内容,改用!dist/**来覆盖dist目录及其下所有文件/子目录:

"ignore": [
  "*",
  "!dist/**"
],

解释:*忽略hosting目录下所有内容,!dist/**反向允许dist目录下的全部资源,确保Firebase能检测到目标文件。

3. 校准predeploy脚本路径

hosting配置中的$RESOURCE_DIR指向你设置的public目录(即hosting文件夹),如果你的package.json在项目根目录而非hosting目录下,当前脚本会找不到npm命令,导致build未执行、dist目录未生成:

  • 若package.json在项目根目录,修改predeploy脚本:
    "predeploy": [
      "npm run lint",
      "npm run build"
    ]
    
  • 若package.json确实在hosting目录下,要确认该目录下的package.json包含lint和build脚本,且build输出路径为hosting/dist。

4. 确认目录结构匹配

确保项目目录结构与配置对应:

项目根目录
├── firebase.json
├── hosting/          # 对应public字段的目录
│   └── dist/         # build生成的静态文件必须在此目录内

如果build生成的dist在项目根目录,要么把public字段改成"public": "dist",要么调整build脚本的输出路径到hosting/dist。

验证修复

修改后执行firebase deploy --only hosting --debug查看详细日志,确认predeploy脚本正常执行、dist目录生成,且Firebase能检测到文件。

内容的提问来源于stack exchange,提问作者Fasco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 22:35:18