繁体   English   中英

部署错误 firebase 托管 - 找到 0 个文件

[英]Deployment error firebase hosting - 0 files found

提示:本站为国内最大中英文翻译问答网站,提供中英文对照查看,鼠标放在中文字句上可显示英文原文

描述:

在部署 firebase 托管期间,我收到一条错误消息,指出找到了 0 个文件。 我包含了我的 firebase.json 文件以供参考。

重现步骤:

运行命令firebase deploy --only hosting

观察指出找到 0 个文件的错误消息

预期结果:

应使用指定文件成功部署 firebase 托管。

实际结果:

抛出错误,指出找到 0 个文件。

+  hosting: Finished running predeploy script.
i  hosting[hosting-project]: beginning deploy...
i  hosting[hosting-project]: found 0 files in hosting
+  hosting[hosting-project]: file upload complete
i  hosting[hosting-project]: finalizing version...
+  hosting[hosting-project]: version finalized
i  hosting[hosting-project]: releasing new version...
+  hosting[hosting-project]: release complete
+  Deploy complete!

笔记:

  • 我仔细检查了 firebase.json 文件中的文件路径,它似乎是正确的。
  • 我试过多次重新运行 deploy 命令,结果相同
  • 我还尝试使用相同的 firebase.json 文件部署不同的项目,但问题仍然存在。
  • 在我的 firebase.json 文件中,我没有直接以 dist 文件夹为目标,因为我在部署之前使用 predeploy 脚本运行 npm run lint 和 npm run build。 但是,我没有忽略带有 dist% 和 .dist/* 的 dist 文件夹,这意味着我没有将它排除在部署之外。

附加的文件:

firebase.json

{
  "firestore": {
    "port": "8080"
  },
  "functions": [
    {
      "source": "functions",
      "codebase": "default",
      "ignore": [
        "node_modules",
        ".git",
        "firebase-debug.log",
        "firebase-debug.*.log"
      ],
      "predeploy": [
        "npm --prefix \"$RESOURCE_DIR\" run lint"
      ]
    }
  ],
  "hosting":{
    "public":"hosting",
    "ignore": [
      "*",
      "!dist/",
      "!dist/*",
    ],
    "rewrites":[
      {
        "source":"**",
        "destination":"dist/index.html"
      }
    ],
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

我找到了一个解决方案来解决部署 firebase 托管期间“找到 0 个文件”的问题。 它可能不是最优雅的解决方案,但它确实有效。 在托管配置的“预部署”部分,我在“npm run lint”和“npm run build”命令的末尾添加了“..”以返回到根文件夹:

"npm --prefix \"$RESOURCE_DIR\\..\" run lint",
"npm --prefix \"$RESOURCE_DIR\\..\" run build"

这让我可以直接在托管配置中定位 dist 文件夹,如官方文档中所指定的那样。 这是修改后的托管配置:

"hosting":{
    "public":"hosting/dist",
    "ignore": [
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites":[
      {
        "source":"**",
        "destination":"/index.html"
      }
    ],
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\\..\" run lint",
      "npm --prefix \"$RESOURCE_DIR\\..\" run build"
    ]
  }

我希望这对可能遇到相同问题的其他人有所帮助。

问题未解决?试试搜索: 部署错误 firebase 托管 - 找到 0 个文件
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM