인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)

firebase admin 코드 추가

클래스 방식말고 (2)

작성

·

223

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

먼저 빠르게 답변해주셔서 정말 감사합니다!

답변해주신 부분 참고해서 코드를 수정하던 도중 궁금한 점이 생겨 다시 질문 드립니다

  1. 아래 답변을 참고해서 코드를 변경해봤는데 맞는건지 확인가능할까요?

-firebase_admin.ts

if (!admin.apps.length) {
  const config: Config = {
    credentials: {
      projectId: process.env.projectId || '',
      clientEmail: process.env.clientEmail || '',
      privateKey: process.env.privateKey?.replace(/\\n/g, '\n') || '',
    },
  };
  admin.initializeApp({
    credential: admin.credential.cert(config.credentials),
  });
  console.info('bootstrap firebase admin');
} else {
  admin.app();
}
  • else문에 admin.app()을 통해 이미 애플리케이션이 실행되었다면 초기화하지않고 실행한다는 코드인데 이게 맞을까요??

파이어베이스에 대해 정확히 알지 못해서...ㅠㅠ 번거롭게 해드려 죄송합니다.

 

 

-if문안에서 로그 안뜨는 문제는 해결했습니다!

  console.info('bootstrap firebase admin');

 

답변 1

0

totuworld님의 프로필 이미지
totuworld
지식공유자

안녕하세요 oridori님!

if (!admin.apps.length) {
  const config: Config = {
    credentials: {
      projectId: process.env.projectId || '',
      clientEmail: process.env.clientEmail || '',
      privateKey: process.env.privateKey?.replace(/\\n/g, '\n') || '',
    },
  };
  admin.initializeApp({
    credential: admin.credential.cert(config.credentials),
  });
  console.info('bootstrap firebase admin');
}

 

기존에 이 코드만 가지고 정상적으로 동작하는지 먼저 확인해보세요.

이 코드를 복수의 파일에서 import했을 때 initializeApp이 한번만 실행되고, 각자 동작을 잘 한다면 문제 없을꺼에요!

oridori2705님의 프로필 이미지
oridori2705
질문자

빠르게 답변해주셔서 정말 감사합니다. 덕분에 궁금한 점 해결됐습니다!

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

질문하기