首页 > 解决方案 > Firebase 托管部署错误“HTTP 错误:404,未找到”

问题描述

我不知道这是否与最近将 firebase-tools 升级到 6.0 有关。但我无法将我的文件部署到托管项目。

我输入 firebase deploy 后的输出:

=== 部署到“legofun-8f22d”...

我部署托管
我托管[legofun-8f22d]:开始部署...
我托管[legofun-8f22d]:在 /_site 中找到 42 个文件
(节点:10178)UnhandledPromiseRejectionWarning:错误
    在新的 FirebaseError (/usr/lib/node_modules/firebase-tools/lib/error.js:9:18)
    在 Object.reject (/usr/lib/node_modules/firebase-tools/lib/utils.js:67:31)
    在 /usr/lib/node_modules/firebase-tools/lib/deploy/hosting/prepare.js:48:26
    在 arrayEach (/usr/lib/node_modules/firebase-tools/node_modules/lodash/lodash.js:516:11)
    在 Function.forEach (/usr/lib/node_modules/firebase-tools/node_modules/lodash/lodash.js:9344:14)
    在 module.exports (/usr/lib/node_modules/firebase-tools/lib/deploy/hosting/prepare.js:29:7)
    在 _chain (/usr/lib/node_modules/firebase-tools/lib/deploy/index.js:22:40)
    在 /usr/lib/node_modules/firebase-tools/lib/deploy/index.js:63:16
    在
    在 process._tickDomainCallback (internal/process/next_tick.js:229:7)
(节点:10178) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝编号:1)
(节点:10178)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
⠏托管:将文件添加到版本 [0/42] (0%)(node:10178) UnhandledPromiseRejectionWarning: E​​rror
    在新的 FirebaseError (/usr/lib/node_modules/firebase-tools/lib/error.js:9:18)
    在 module.exports (/usr/lib/node_modules/firebase-tools/lib/responseToError.js:38:12)
    在 Request._callback (/usr/lib/node_modules/firebase-tools/lib/api.js:37:35)
    在 Request.self.callback (/usr/lib/node_modules/firebase-tools/node_modules/request/request.js:185:22)
    在 emitTwo (events.js:126:13)
    在 Request.emit (events.js:214:7)
    在请求。(/usr/lib/node_modules/firebase-tools/node_modules/request/request.js:1161:10)
    在 emitOne (events.js:116:13)
    在 Request.emit (events.js:211:7)
    在传入消息。(/usr/lib/node_modules/firebase-tools/node_modules/request/request.js:1083:12)
(节点:10178) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝编号:6)

错误:HTTP 错误:404,未找到

标签: javascriptnode.jsfirebase

解决方案


我有同样的问题

在我的情况下,我通过在公共标签上的 /dist 之前在 firebase.json 上添加一个点来修复它"public": "./dist/my-app-name",

我的 json 示例

{
  "hosting": {
    "public": "./dist/my-app-name",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

推荐阅读