我可能错了,但似乎最初的问题是关于在给定项目中更改应用程序,而不是简单地更改项目。
这个答案是关于在项目中更改应用程序和 site_ID。
就我而言,我有一个包含 2 个网络应用程序的项目 (CoolProject):
这两个应用程序都位于本地和 GitHub 中的单独存储库中。
每个应用都有自己特定的 site_ID:
- 表格:
coolproject-form[.web.app]
- 网址:
coolproject-website[.web.app]
我首先设置了form 应用程序并毫无问题地部署到coolproject-form。但是,当我创建web 应用程序(以及关联的coolproject-website site_ID)并尝试使用firebase deploy --only hosting 或firebase deploy --only hosting:website 部署它时,它错误地将其部署到coolproject-form 覆盖form 应用程序。
这就是我最终解决问题的方法(基于Firebase documentation):
- 检查两个应用程序和相应的 site_ID 是否设置正确:
firebase apps:list
firebase hosting:sites:list
- 为托管设置
website 部署目标(通过 .firebaserc)
firebase target:apply hosting website coolproject-website
- 更新
firebase.json(用于website 应用):
...
"hosting": [{
"target": "website",
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}],
...
- 部署
firebase deploy --only hosting
有了这个website 应用程序现在正确部署到coolproject-website.web.app。