콘솔로 이동

Firebase 자바스크립트 SDK에 지원되는 환경

지원되는 환경

Firebase 자바스크립트 SDK는 공식적으로 다음 환경에서 지원됩니다.

인증 실시간 데이터베이스 클라우드 메시징 Cloud Storage Cloud Firestore Performance Monitoring Cloud Functions
IE11
(지속성
제외)
Edge
(Edge 17 이상)

(지속성
제외)
Firefox
Chrome
iOS Safari
(지속성
제외,
iOS 10 미만인 경우)
Safari
React Native
(참고 참조)

(업로드
제외)

(지속성
제외)
Node.js
(참고 참조)

(지속성
제외)
Chrome 확장 프로그램
(참고 참조)
Cordova
(참고 참조)

Polyfill

Firebase 자바스크립트 SDK는 최신 웹 플랫폼 표준을 기반으로 빌드되었습니다. 일부 오래된 버전의 브라우저와 자바스크립트 환경에서는 Firebase에 필요한 기능을 모두 지원하지는 않습니다. 오래된 브라우저와 환경을 지원해야 하는 경우 polyfill을 적절하게 로드해야 합니다.

로드해야 할 대부분의 polyfill이 아래 섹션에 나와 있습니다.

필수 polyfill

환경 Polyfill
IE 11 ES 지원
Safari 7, 8, 9 ES 지원
Node 6.5 이전 버전 ES 지원

선택사항 polyfill

환경 Polyfill Firebase 제품
  • IE 11
  • 노드
  • Safari 10.1 이전 버전
  • iOS 10.3 이전 버전
가져오기
  • Cloud Functions
  • Performance Monitoring

추천 polyfill

Polyfill 라이선스
ES 지원 MIT
가져오기 MIT

애플리케이션에 polyfill 추가

옵션 1: (권장) Bundler를 Babel과 통합하여 사용

Bundler를 사용하는 경우 Babel@babel/preset-env를 통합하여 polyfill을 가져옵니다.

Babel과 bundler를 통합하는 방법은 Babel의 대화형 설정 가이드를 참조하세요.

Babel을 사용하면 포함할 polyfill이 정확히 무엇인지 고민하지 않아도 됩니다. 지원해야 할 최소 버전의 브라우저 환경만 지정하면 Babel이 필요한 polyfill을 자동으로 추가해줍니다. Babel을 사용하면 Firebase나 자체 코드에서 새로운 ES 기능을 사용하는 경우에도 브라우저 지원 요구사항이 항상 충족됩니다.

@babel/preset-env에는 환경 대상을 지정(옵션 targets)하고 polyfill을 추가(옵션 useBuiltIns)하는 구성 옵션에 대한 자세한 정보가 포함되어 있습니다.

옵션 2: (권장되지 않음) 수동으로 polyfill 추가

즐겨찾는 polyfill 라이브러리(예: core-js)를 사용하여 수동으로 polyfill을 추가해도 됩니다.

import 'core-js/stable'
import 'cross-fetch/polyfill';

core-js는 HTML 페이지에 직접 포함할 수 있는 통합 polyfill 파일도 제공합니다.

이 옵션을 사용하면 Babel을 사용하지 않을 때도 polyfill을 편리하게 관리할 수 있습니다. 하지만 이 통합 옵션을 사용할 경우 불필요한 polyfill이 포함되어 페이지가 무거워지고 페이지 로딩 시간이 길어질 수 있으므로 프로덕션 앱에서는 사용하지 않는 것이 좋습니다.