Firebase CLI 更改托管目标

Firebase CLI change hosting target

我在 >Firebase >Hosting >Main (https://console.firebase.google.com/u/0/project/example/hosting/main)

中有两个 Firebase 托管站点
1. **foobar**.web.app (default project from setup process)
2. **example**.web.app (added as an additional web app under the main project and linked for hosting)

这些是我的 .firebaserc 设置:

 {
  "targets": {
    "foobar": {
      "hosting": {
        "foobar": [
          "foobarWebApp"
        ]
      }
    },
    "example": {
      "hosting": {
        "foobar": [
          "foobarWebApp"
        ],
        "example": [
          "foobar"
        ]
      }
    }
  },
  "projects": {
    "default": "foobar"
  }
}

在 运行 firebase deployFirebase CLI 之后,文件被部署到 foobar.web.app.如何改成example.web.app

我试过 firebase deploy --only hosting:example 但总是 returns 错误:发生意外错误。

您是否正确设置了托管目标?

在您的 CLI 中,

firebase target:apply type target-name resource-name

  • type — 相关的 Firebase 资源类型。在你的情况下,使用 hosting.
  • 目标名称 — 您要部署到的托管站点的唯一标识符(可以是任何内容)
  • resource-name — 在您的 Firebase 项目中列出的托管站点的名称,在您的情况下为 foobarexample

为 Firebase 资源设置部署目标后,在 firebase.json 配置文件中引用应用的目标名称。

https://firebase.google.com/docs/cli/targets

编辑:

你的 .firebaserc 应该看起来像这样,(虽然 运行 上面的命令行语句应该已经为你改变了这个,你需要更新的只是 package.json) :

"projects": {
    "default": "project-name"
},
"targets": {
    "project-name": {
        "hosting": {
            "example": [ // target-name
                "example-website" // resource-name
            ],
            "foobar": [ // target-name
                "foobar-website" // resource-name
            ]
        }
    }
}

对我来说将其分解为 "definitive descriptive variables"

很有意义

ex .firebaserc 文件

{
  "targets": {
    "firebaseProjectID": {
      "hosting": {
        "targetValueInFirebase.json": [
          "yourFirebaseHostingDomain"
        ]
      }
    }
  },
  "projects": {
    "cli_alias": "firebaseProjectID"
  }
}

我遇到了同样的问题并通过这个解决了:

  • 1.delete browser cache , 2.reopen browser , 3.run deploy again 4.open Hosting URL in new private window*