개발자
Firebase db로 2개의 프로덕트가 있는데 하나는 클라이언트에서 하나는 서버단에서 사용하려고 Initialize() 를 사용하려하는데 2가지의 이슈가 있었는데 getAuth()에 app이라는 변수명에 config를 정의 해두고 getauth(app)까지는 무제없었는데auth의메서드를 사용하려하니 이미 duplicate 블라블라..에러가 뜨더라구요. Firebase 공식문서 확인을 하면서 작성하긴했는데 이제 3일차 되는데 너무어려워서 질문남겨봅니다..
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 06월 26일
Firebase에서 "Already exists: Database (app이름)"와 같은 오류 메시지가 출력되면, 이는 이미 해당 이름의 Firebase 앱이 초기화 되어 있다는 것을 의미합니다. 해당 문제를 해결하기 위해서는 Firebase 앱이 이미 초기화되어 있는지 확인하기 위한 코드 체크를 추가해야 합니다. 아래 예시처럼 수정해보세요. ```javascript import firebase from 'firebase/app'; import 'firebase/auth'; let app; if (!firebase.apps.length) { app = firebase.initializeApp({ // your config }); } else { app = firebase.app(); // if already initialized, use that one } const auth = firebase.auth(); ``` 여기서 `!firebase.apps.length`는 현재 초기화된 Firebase apps 배열의 길이가 0인지를 검사합니다. 만약 firebase apps 배열의 길이가 0이라면 새로운 Firebase 앱을 초기화하고, 그렇지 않으면 기존에 초기화된 앱을 사용하도록 합니다. 또한 클라이언트에서 사용하는 경우와 서버단에서 사용하는 경우 두 가지 모두 각각에 대해 독립적으로 Firebase를 초기화해야 할 수 있습니다. 매번 새로운 인스턴스를 생성하는 것은 비효율적일 수 있으므로, 한 번 생성된 후에는 재사용 가능하도록 관리하는 것이 중요합니다. 그리고 마지막으로 `getAuth()` 함수를 호출할 때 app 인스턴스 전달을 잊지 않도록 주의해주세요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!