【发布时间】:2020-11-17 08:02:39
【问题描述】:
我正在考虑使用 Vuefire 来更轻松地将 Firestore 与我的 Vue 项目集成。在阅读getting started documentation 时,他们让您创建一个 db.js 文件,以便您可以“方便地”将其导入项目中的任何位置。
import firebase from 'firebase/app'
import 'firebase/firestore'
// Get a Firestore instance
export const db = firebase
.initializeApp({ projectId: 'MY PROJECT ID' })
.firestore()
// Export types that exists in Firestore
// This is not always necessary, but it's used in other examples
const { Timestamp, GeoPoint } = firebase.firestore
export { Timestamp, GeoPoint }
// if using Firebase JS SDK < 5.8.0
db.settings({ timestampsInSnapshots: true })
在Binding page 的下一步中,他们显示您可以将该模块导入“RecentDocuments”组件中
// RecentDocuments.vue
import { db } from './db'
export default {
data() {
return {
documents: [],
}
},
firestore: {
documents: db.collection('documents'),
},
}
如果我将同一个 db.js 文件导入另一个组件,它不会创建 firebase firestore 对象的另一个实例,因为它基本上是再次调用 .initializeApp 吗?
// SomeOtherComponent.vue
import { db } from './db'
export default {
...
还是我不了解导入的工作原理?
【问题讨论】:
标签: javascript firebase vue.js es6-modules vuefire