vuexfire不能与Firebase模拟器一起工作



我使用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模拟器?

谢谢!

对我来说,它通过调用' db '来工作。useEmulator('localhost', 8081)' just before bindFirestoreRef

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

相关内容

  • 没有找到相关文章

最新更新