在 Vue.js + Firebase 中设置项目的更好方法是啥? [复制]
Posted
技术标签:
【中文标题】在 Vue.js + Firebase 中设置项目的更好方法是啥? [复制]【英文标题】:What is the better way to set a project in Vue.js + Firebase? [duplicate]在 Vue.js + Firebase 中设置项目的更好方法是什么? [复制] 【发布时间】:2021-05-30 06:51:39 【问题描述】:我正在用 Vue.js + Firebase 做我的第一个项目。所以我有这个错误
Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app)
当我使用 Firestore 时,变成了一个组件。
在 main.js 我有
import firebase from 'firebase/app'
Vue.config.productionTip = false
const firebaseConfig =
apiKey: "********",
authDomain: "*******",
projectId: "*******",
storageBucket: "*********",
messagingSenderId: "*********",
appId: "*********",
measurementId: "********"
;
firebase.initializeApp(firebaseConfig);
所以在 Dashboard.vue
import firebase from "firebase/app";
import "firebase/firestore";
const db = firebase.firestore();
在其他视图中,例如 Login.vue Register.vue
我用过
import firebase from "firebase/app";
import "firebase/auth";
在这些视图中有效!
谢谢!!!
【问题讨论】:
【参考方案1】:假设您使用的是 Vue CLI 应用程序,我总是在 created()
中初始化 Firebase,如下所示:
<script>
import firebase from "firebase/app"
import "firebase/auth"
import fbConfig from "@/creds/fbConfig.json";
export default
name: "ComponentName",
data: () => ( ),
created()
if (!firebase.apps.length)
firebase.initializeApp(fbConfig)
firebase.auth().onAuthStateChanged((user) =>
if (user)
console.log("User is logged in!")
)
</script>
尽管确保你在每个父级 Vue 组件上都编写了这段代码! 如果是模态或页面部分等子组件,则无需初始化应用。
【讨论】:
以上是关于在 Vue.js + Firebase 中设置项目的更好方法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 <b-list-group> (vue.js) 中设置活动项目的样式
如何在 Flutter Web 项目中设置 Firebase 功能