这似乎很容易做到,但是由于任何原因,我都被击败了。
我正在尝试使用firebase-tools CLI与我的数据库进行交互。我可以轻松登录,输入时firebase list
,我会得到所有当前应用程序的列表。它还会告诉我当前连接到哪个应用程序。
我的问题是,我想连接到其他应用程序之一。我在暂存应用程序上运行查询,并且需要在生产应用程序上运行查询。我可以在列表中看到生产应用程序,但是找不到任何切换到该应用程序的方法。
有什么想法吗?
Answers:
我宁愿使用脚本。考虑这样的项目结构:
your-project
├── .firebaserc
└── functions
├── package.json
└── index.js
转到.firebaserc
并遵循下一个示例
{
"projects": {
"default": "project-name",
"prod": "other-name"
}
}
然后转到package.json
并添加以下脚本(changeToProd
和changeToDev
)。
{
...
"scripts": {
...
"changeToProd": "firebase use prod",
"changeToDev": "firebase use default"
},
"dependencies": {
...
},
...
}
如果您的IDE支持npm脚本,则可以使用IDE UI来运行它们,否则可以使用命令控制台来运行它们。确保您位于functions
文件夹中。
npm run-script changeToProd
您可以通过从终端运行以下命令来验证当前项目,或者像我们刚才那样将其添加到脚本中
firebase use
在您运行的目录中firebase list
,将存在一个名为的文件firebase.json
。如果在文本编辑器中打开该应用程序,则将在其中看到应用程序名称。您可以在那里更改或删除firebase.json
以更改应用程序。
或省去编辑文本文件的麻烦,并按照Jason所说的做:use firebase init
。
.firebaserc
现在。
如果您在Windows上使用Node.js,答案应该是
firebase use <project_id>
但没有<>
firebase use chat-app-2a150
您可以使用以下代码查看所有项目,以选择要使用的正确项目ID。
firebase projects:list
2020年的答案:
官方推荐的方式是使用“别名”:
在中.firebaserc
,设置不同的项目ID:
{
"projects": {
"production": "my-project-id",
"testing": "my-project-id--testing"
}
}
// you can also interactively add them with `firebase use --add`
然后,您可以执行firebase use testing
或firebase use production
在项目之间切换。
请注意,切换项目不会创建任何git diff,只需在本地计算机中记住即可。要查看当前正在使用哪个项目,请运行firebase use
。
如果您想更改项目ID而又不对项目所有者进行更改.firebaserc
,请firebase use my-project-id
按照接受的答案在本地进行操作。另一方面,如果您是项目所有者,并且希望其他人使用自己的项目ID,则应添加.firebaserc
到中.gitignore
。
@cutiko的答案
在 package.json
"scripts": {
...
"prod": "echo \"Switch to Production environment\" && firebase use prod && npm run runtimeconfig",
"dev": "echo \"Switch to Development environment\" && firebase use default && npm run runtimeconfig"
...
npm run runtimeconfig
获取自定义配置环境
在 .firebaserc
{
"projects": {
"default":"{project-dev-id}",
"prod": "{project-prod-id}"
}
}