我正在使用 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 模拟器?
谢谢!