🤗
しばらくすると直る analytics is not a function の対処方法
ビルドしてすぐアクセスしたときとか静的にexportしようとしたときに、なぜかanalyticsが未定義になる現象が起こっていた
if (!firebase.apps.length) {
firebase.initializeApp(config)
firebase.analytics()
}
TypeError: firebase__WEBPACK_IMPORTED_MODULE_0___default.a.analytics is not a function
ググっても「先頭に import 'firebase/analytics'
って書いてね」とか「firebase@7.1.0以降で直ってるよ〜」とか、そうじゃなさそうな情報しかなかった
しばらくすると動くんだからサァ…
で、
firebaseのonReady的なものがないか探していたら、あった
if (!firebase.apps.length) {
firebase.initializeApp(config)
firebase.analytics.isSupported().then((isSupported) => {
if (isSupported) {
firebase.analytics()
}
})
}
たぶん本来はエンジンが本当にブラウザかどうかを調べる関数なのだが、
analyticsがサポートされているのに未定義になることはないだろうし良さそう
Discussion