我正試圖在我的Next.js專案中使用Firebase v9,但每當我匯入它時,似乎都會回傳未定義的結果。
import * as firebase from 'firebase/app'
export function getFirebaseApp(){
const clientCredentials = { ... }
return firebase.initializeApp(clientCredentials)
}
然而,當我試圖在瀏覽器中運行這個程式時,我得到的卻是這樣的錯誤:
<TypeError。不能讀取屬性'initializeApp' of undefined。
這種情況在匯入的任何變化中都會發生,我試過幾次:
import * as firebase from 'firebase/app'
import firebase from 'firebase/app'
import { initializeApp } from 'firebase/app'
//和從'@firebase/app'匯入同樣的東西,雖然不認為那會成功。
我真的不知道發生了什么,我不認為這是Next.js的問題,因為即使是VSCode也不建議從firebase匯入任何東西,盡管它已經安裝了(我可以在node_modules中看到它)。我在package.json中有這樣一行:
{}。
"dependencies": {
"firebase": "^9.0.2"
}
}
所以這真的是一個謎,我真的不知道發生了什么。 有什么建議可以幫助我解決這個問題嗎?
編輯:由于我已經收到了兩條建議這樣做的評論,我想我就把它放在這里吧:
我使用的是模塊化軟體。
我使用的是模塊化的SDK,所以我試著直接匯入initializeApp,但還是沒有成功:
import { initializeApp } from 'Firebase/app'
export function getFirebaseApp(){
const clientCredentials = { ... }
return initializeApp(clientCredentials)
}
TypeError。不能讀取屬性of undefined(讀取'initializeApp')
uj5u.com熱心網友回復:
你可以安裝next版本的firebaseui,它將與新的SDK一起作業:
npm i -S firebaseui@next
并將其整合到你的應用程式中,如這里。
。如果您使用compat版本,您將無法享受到新 SDK 的好處。
正如github問題中所說的那樣,這兩個庫都不會很快更新,所以做這個小小的努力并100%轉移到新的SDK上會有回報的。
。uj5u.com熱心網友回復:
我找到了問題的根源。我正在使用react-firebaseui - 不幸的是,它不支持模塊化版本的firebase(尚未)。因此,解決方案是要么使用其他東西,要么使用compat庫:
import firebase from 'firebase/compat/app'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/319806.html
標籤:
