예약된 URL

Firebase 호스팅은 사이트에서 /__로 시작되는 URL을 예약합니다. 이 예약된 네임스페이스를 통해 Firebase 호스팅과 함께 다른 Firebase 기능을 보다 쉽게 사용할 수 있습니다. firebase serve를 로컬에서 실행할 때와 배포 시 이러한 예약된 URL을 사용할 수 있습니다.

Firebase SDK

Firebase 호스팅은 배포 시 HTTP/2를 통해 제공되므로 동일한 출처의 파일을 로드하여 성능을 높일 수 있습니다. Firebase 호스팅은 다음과 같은 형식의 특수한 URL로 Firebase JS SDK의 모든 버전을 제공합니다.

/__/firebase/{version}/{sdk-file}.js

SDK에서 사용하는 부분만 로드하는 것이 좋습니다. 예를 들어 Firebase 인증과 Cloud Storage를 함께 사용하는 경우 다음 스크립트만 포함하면 됩니다.

<script src="/__/firebase/5.4.1/firebase-app.js"></script>
<script src="/__/firebase/5.4.1/firebase-auth.js"></script>
<script src="/__/firebase/5.4.1/firebase-storage.js"></script>

Firebase SDK의 모든 버전은 이러한 방식으로 호스팅되며 출시되는 즉시 새 버전을 사용할 수 있습니다.

SDK 자동 구성

예약된 네임스페이스는 SDK 자체를 호스팅할 뿐 아니라 Firebase 호스팅 사이트와 관련된 프로젝트의 SDK를 초기화하는 데 필요한 모든 구성을 제공합니다. 이 구성은 직접 포함할 수 있는 스크립트로 제공됩니다.

<!-- load Firebase SDK before loading this file -->
<script src="/__/firebase/init.js"></script>

이 스크립트는 Firebase SDK의 기본 애플리케이션을 자동으로 구성합니다. 초기화를 직접 제어하려는 경우 JSON 형식의 구성 값을 사용할 수도 있습니다.

fetch('/__/firebase/init.json').then(response => {
  firebase.initializeApp(response.json());
});

자동 SDK 구성을 통해 단일 코드베이스에서 개발, 스테이징, 프로덕션 등의 여러 환경을 쉽게 관리 할 수 ​​있습니다. 예약된 URL을 사용하면 여러 Firebase 프로젝트에 동일한 코드를 배포할 수 있습니다.

인증 헬퍼

Firebase 인증은 예약된 네임스페이스를 사용하여 OAuth를 통해 제공업체와의 인증을 완료하는 특수한 자바스크립트 및 HTML을 제공합니다. 이를 통해 각 고객은 프로젝트에 고유한 도메인을 확보하여 Firebase 인증의 보안을 강화할 수 있습니다.

또한 firebase.initializeApp()authDomain 옵션에 맞춤 도메인을 사용할 수 있습니다. Firebase 호스팅에 맞춤 도메인을 구성한 경우 Firebase SDK를 초기화할 때 firebaseapp.com 하위 도메인 대신 이 맞춤 도메인을 지정할 수 있습니다.

예약된 URL 및 서비스 워커

프로그레시브 웹 앱을 개발하는 경우 미리 캐시된 항목 목록과 일치하지 않을 때 특정 URL을 기본적으로 렌더링하는 '탐색 대체' 기능을 가진 서비스 워커를 만들 수 있습니다. Firebase 호스팅이 제대로 작동하려면 /__ 네임스페이스에 대한 대체를 사용 중지해야 합니다.

sw-precache 라이브러리를 사용하는 경우 예약된 네임스페이스를 제외하는 탐색 대체 허용 목록 설정을 추가할 수 있습니다.

{
  navigateFallbackWhitelist: [/^(?!\/__).*/]
}

일반적으로 이중 밑줄 네임스페이스는 Firebase용으로 예약되므로 서비스 워커에서 이러한 요청을 가로채서는 안 된다는 점을 유의하시기 바랍니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.