【发布时间】:2022-08-08 06:10:43
【问题描述】:
我跑了
npm i firebase
并且有
import firebase from \'firebase/compat/app\'
但是当我跑步时
console.log(firebase.auth())
我收到一条错误消息
app.js:280 Uncaught FirebaseError: Firebase: No Firebase App \'[DEFAULT]\' has been created - call Firebase App.initializeApp() (app-compat/no-app).
at app (firebaseNamespaceCore.ts?1484:102:1)
at Object.serviceNamespace [as auth] (firebaseNamespaceCore.ts?1484:152:1)
at eval (HelloWorld.vue?e90b:24:1)
at Module../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/HelloWorld.vue?vue&type=script&lang=js (app.js:30:1)
at __webpack_require__ (app.js:277:33)
at fn (app.js:517:21)
at eval (HelloWorld.vue?vue&type=script&lang=js:5:213)
at Module../src/components/HelloWorld.vue?vue&type=script&lang=js (app.js:140:1)
at __webpack_require__ (app.js:277:33)
at fn (app.js:517:21)
但是,当我只运行 console.log(firebase) 时,我会在控制台中得到正确的数据输出。我还按照here 的记录正确设置了 firebase,但 firebause.auth() 仍然无法正常工作。我在 Vue3 工作,但我认为那部分并不重要,仍在努力寻找解决方案。
我目前正在尝试让 firebaseUI 工作,这是我陷入困境的步骤。一旦我能够让 firebause.auth() 工作,我将能够通过运行初始化 firebaseUI 小部件:
var ui = new firebaseui.auth.AuthUI(firebase.auth());
我的 ./src/firebaseConfig.js 代码:
import { initializeApp } from \"firebase/app\";
const firebaseConfig = {
apiKey: \"code\",
authDomain: \"code\",
projectId: \"code\",
storageBucket: \"code\",
messagingSenderId: \"code\",
appId: \"code\",
measurementId: \"code\"
};
const firebaseApp = initializeApp(firebaseConfig);
export default firebaseApp
我在 ./src/components/Helloworld.vue 中使用 firebase Config.js 的组件文件:
<template>
<div class=\"hello\">
<h1>{{ msg }}</h1>
<div id=\"sign-in-status\"></div>
<div id=\"sign-in\"></div>
<pre id=\"account-details\"></pre>
</div>
</template>
<script>
import firebaseConfig from \'../firebaseConfig\';
import firebase from \'firebase/compat/app\';
import * as firebaseui from \'firebaseui\'
import \'firebaseui/dist/firebaseui.css\'
console.log(firebaseConfig);
console.log(firebase);
// Initialize the FirebaseUI Widget using Firebase.
var ui = new firebaseui.auth.AuthUI(firebase.auth());
ui
export default {
name: \'HelloWorld\',
props: {
msg: String
},
}
</script>
<!-- Add \"scoped\" attribute to limit CSS to this component only -->
<style scoped>
</style>
两个都
console.log(firebaseConfig);
console.log(firebase);
有效,但
// Initialize the FirebaseUI Widget using Firebase.
var ui = new firebaseui.auth.AuthUI(firebase.auth());
ui
在上面复制并粘贴时会产生错误。
-
我应该在我的 vue.js 代码中指定如何使用它吗?希望这个问题可以更通用地解决。我将 firebase 配置文件放在我要导入 vue.js 组件文件夹的 \'src\' 文件夹中的单独文件中。然后其他一切都只是在组件文件的脚本标记中。让我知道我是否应该用我的 vue.js 文件代码或其他东西重新表述这个问题。我仍然认为我在 vue.js 之外做错了什么,因为我尝试了很多测试,并且 vue.js 至少目前似乎不是问题。也许我错了。
-
您是否正确调用 Firebase App.initializeApp()?
-
我以为我做到了,console.log(firebase) 输出是否正确意味着它已初始化?当我删除我的 \'import firebaseConfig from \'../firebaseConfig\';我的 vue.js 导入部分中的行,console.log(firebase) 不再起作用。
-
将我正在处理的代码添加到问题中。我已经使用您提到的文档使 Google/Facebook/Github 登录正常工作。 Google/Facebook/Github 登录的工作 src 代码 - github.com/simonjsuh/… - 我在存储库描述中制作的相关 YouTube 视频。显然,让个人登录工作与仅使用 firebaseUI 不同。试图让 firebaseUI 现在工作。
标签: javascript firebase vue.js firebase-authentication