【问题标题】:Importing js to Vue project将js导入Vue项目
【发布时间】: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


    【解决方案1】:

    不,不会。导入只发生一次。来自每个进口的出口实际上是单件。您应该能够通过简单地将日志消息添加到导入来验证这一点。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-25
    • 2018-07-21
    • 2021-12-04
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    相关资源
    最近更新 更多