错误:断言失败:解析没有网站名称或目标名称的网站的托管目标 -> 将 Firebase 托管中的更改部署到实时网站

问题描述 投票:0回答:4
{
  "database": {
    "rules": "database.rules.json"
  },
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "hosting": [
    {
      "public": "dist/nur",
      "ignore": [
        "firebase.json",
        "**/.*",
        "**/node_modules/**"
      ],
      "rewrites": [
        {
          "source": "**",
          "destination": "/index.html"
        }
      ]
    },
    {
      "target": "nur",
      "public": "dist/nur",
      "ignore": [
        "**/.*"
      ],
      "headers": [
        {
          "source": "*.[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].+(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"
        }
      ]
    }
  ],
  "storage": {
    "rules": "storage.rules"
  }
}


尝试通过Firebase使用firebase部署命令来部署更改。

Deploying to 'nur-beta'...

i  deploying database, storage, firestore, hosting
i  database: checking rules syntax...
database: rules syntax for database nur-beta-default-rtdb is valid
i  firebase.storage: checking storage.rules for compilation errors...
firebase.storage: rules file storage.rules compiled successfully
i  firestore: reading indexes from firestore.indexes.json...
i  cloud.firestore: checking firestore.rules for compilation errors...
cloud.firestore: rules file firestore.rules compiled successfully

所有资源部署后,它给出断言失败消息。

错误:断言失败:解析没有站点名称或目标名称的站点的托管目标。这本来应该会导致错误。我可以知道在将更改部署到 Firebase 托管下托管的已上线网站时缺少什么吗?

angularjs typescript firebase-hosting
4个回答
3
投票

我遇到了同样的问题,我通过运行修复了它

firebase init
并重新初始化项目。


0
投票

您的 JSON 文件没有问题。

要部署到 Firebase 托管,首先您必须构建项目,然后将项目推送到 Firebase 托管

构建项目并将其部署到 firebase 的命令

  1. 对于 Angular,请在项目位置的终端中使用 ng build 命令。
  2. 构建后运行 firebase 部署命令
  3. 见识魔法

0
投票

我最近遇到了这个问题,对我有用的是在 firebase.json 中添加目标名称:

  "hosting": [
    {
      "target": "TARGET_NAME",
      ....
    }
  ]

请注意,这是一个修补程序。我还没有完全调查根本原因,但它帮助我在需要时部署应用程序。


0
投票
"hosting": [
{
  "source": ".",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ],
  "frameworksBackend": {
    "region": "asia-east1"
  }
},
{
  "target": "friendly-travels",
  "source": ".",
  "frameworksBackend": {}
}

],

在托管部分的第一个块中,添加第二个块中的整个目标行,如下所示

"hosting": [
{
  "target": "friendly-travels",
  "source": ".",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ],
  "frameworksBackend": {
    "region": "asia-east1"
  }
},
{
  "target": "friendly-travels",
  "source": ".",
  "frameworksBackend": {}
}

],

© www.soinside.com 2019 - 2024. All rights reserved.