簡體   English   中英

無法讀取未定義的屬性“auth”

[英]Cannot read property 'auth' of undefined

我正在嘗試在 VueJS 項目中使用 firebase-ui。

我的 api 憑據在名為config.js的文件中定義

export default {
apiKey: "*****",
authDomain: "*****.firebaseapp.com",
databaseURL: "https://my-project.firebaseio.com",
projectId: "*****",
storageBucket: "*****",
messagingSenderId: "73482979",
appId: "1:685818581200:web:1f5ebjnfsdjnj",
measurementId: "G-BHJK6N67PZ"
};

我正在我的init.js中導入config.js文件,其中完成了整個firebase設置:

import config from "./config";
import firebase from "firebase";
import firebaseui from "firebaseui";
import "firebase/auth";
import "firebase/firestore";

const app = firebase.initializeApp(config);
const auth = firebase.auth();
const firestore = app.firestore();

const authUi = new firebaseui.auth.AuthUI(auth); //Error is thrown at this point

export default app;
export { auth, authUi, firestore };

然而,錯誤 -> Cannot read property 'auth'未定義的Cannot read property 'auth'被拋出,我已經有幾天無法從這里過去了。 我檢查了文檔( https://firebase.google.com/docs/auth/web/firebaseui#before_you_begin ),一切都正確完成,甚至使用最新的 firebaseui 版本"firebaseui": "4.7.0"位於包.json

對我如何解決這個問題有什么幫助嗎?

您錯誤地導入了 Firebase 客戶端 JS 庫。 模塊捆綁器文檔顯示:

// Firebase App (the core Firebase SDK) is always required and must be listed first
import firebase from "firebase/app";
// If you are using v7 or any earlier version of the JS SDK, you should import firebase using namespace import
// import * as firebase from "firebase/app"

不要從“firebase”導入。 從“firebase/app”導入,並確保遵守您使用的 SDK 版本的約定。

firebaseui 的文檔可能已經過時。 考慮使用文檔頁面頂部的“發送反饋”按鈕提交您的反饋。

我遇到了同樣的問題。 經過幾個小時的嘗試,我通過編輯我的配置來解決它:

import firebase from 'firebase/app';
import * as firebaseui from 'firebaseui';
import 'firebaseui/dist/firebaseui.css';

如果您的 firebase 版本大於 7,則必須從“firebase/app”而不是“firebase”導入。

而且你必須從'firebaseui'導入* ,而不是只導入firebaseui。

和我的packages.json 像:

"dependencies": {
  "firebase": "^8.8.0-202162022140",
  "firebaseui": "^4.8.1",
},

順便說一下,我的項目使用的是 Vue3.js。

從 Firebase 9.0.0(2021 年 8 月 25 日)開始,它現在應該是

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

使用向后兼容的接口。

有關完整升級路徑,請參閱https://firebase.google.com/docs/web/modular-upgrade

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM