👩🚒
FirebaseUI を CDN から利用する時の firebase の import
はじめに
Netlify みたいに日本から遠いホスティングサービスを使っていると、firebase のライブラリみたいな大きい bundle の初回ダウンロードが初回起動の遅さのネック[1]になったりするので、npm で自身の bundle から追い出して、jsDeliver みたいな日本からも近い CDN からの利用に変えたくなるのですが、普通にやるとTypeError: Cannot read property 'auth' of undefinedってエラーがでて、数ヶ月間[2]悩んだりします
原因
原因は firebase の import が npm からの場合と CDN からの場合で違うからです
npm からの場合
こちらは firebase のドキュメント に以下のような記載があるのですが
import firebase from "firebase/app"
CDN からの場合
こちらは firebase のドキュメント になぜか記載がない(これが3ヶ月も悩んだ根本原因なんですが)、正解はこちらのようです
import * as firebase from 'firebase'
Discussion