0

我正在使用 vuexfire 将我的 vue/vuex 应用程序连接到 Firebase Cloud Firestore。实际连接到 Firebase 时它工作正常。使用 Firebase 模拟器时它不起作用。

是否需要连接 Firebase 模拟器以允许 Vuexfire 连接的特定方式?

最有效的

vue-cli-service serve

然后打开一个新终端并运行

firebase emulators:start --import=./saved-data --export-on-exit

我更改了 firebase.json 中的设置以包含

"emulators": {
    "firestore": {
      "port": 8081
    },

以防止 firestore 模拟器和 vue-cli 开发服务器之间发生任何冲突。

但是控制台给了我这个错误:

Uncaught (in promise) FirebaseError: 
false for 'get' @ L6

这是firebase初始化:

firebase.initializeApp(firebaseConfig)
const auth = firebase.auth()
const db = firebase.firestore()
const func = firebase.functions()

const emulating = true

if (emulating) {
  func.useEmulator('localhost', 5001)
  //auth.useEmulator('http://localhost:9099/')
  db.useEmulator('localhost', 8081)
}

以及(我认为)导致错误的 Vuex 代码:

bindProfile: firestoreAction(({ bindFirestoreRef, state }) => {
  const pid = state.user.uid
  console.log('Binding profile...')
  return bindFirestoreRef('profile', db.collection('profiles').doc(pid))
}),

有没有人成功使用 Vuexfire 和 Firebase 模拟器?

谢谢!

4

0 回答 0