[firebase] Firebase CLI에서 앱을 어떻게 전환하나요?

이것은 꽤 쉬운 일처럼 보이지만 어떤 이유로 든 패배하고 있습니다.

firebase-tools CLI를 사용하여 데이터베이스와 상호 작용하려고합니다. 문제없이 로그인 할 수 있으며을 입력 firebase list하면 현재 사용중인 모든 앱 목록이 표시됩니다. 현재 연결된 앱도 알려줍니다.

내 문제는 다른 앱 중 하나에 연결하고 싶다는 것입니다. 스테이징 앱에서 쿼리를 실행 중이며 프로덕션 앱에서 실행해야합니다. 목록에서 프로덕션 앱을 볼 수 있지만 해당 앱으로 전환 할 방법을 찾지 못했습니다.

생각?



답변

여기에서 유용한 정보를 찾았습니다 . Firebase CLI 참조 .

다음 코드는 저에게 효과적입니다.

firebase use <project_id>


답변

차라리 스크립트를 사용합니다. 다음과 같은 프로젝트 구조를 고려하십시오.

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이 말한대로 firebase init.


답변

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.


답변

명령 줄 스위치를 사용하면됩니다.

--project=my-firebase-project


답변

추가 @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}"
  }
}