我正试图通过一个教程(下面的链接)来学习vue和firebase。有一个主要的仪表板页面,其中包含组件列表,而我已经知道该页面可以显示员工列表。然后是一个视图员工组件。当我开始构建它并刚刚加载数据时,我开始出现此错误:
未捕获的FirebaseError {code:“ app / duplicate-app”,消息:“ Firebase: 名为“ [DEFAULT]”的Firebase应用已存在(应用/重复应用)。“, 名称:“ [DEFAULT]”,堆栈:“ [DEFAULT]:Firebase:Firebase应用程序名为 '[DEFAULT]…0)↵at fn(http://localhost:8081/app.js:89:20)“}
我添加到查看员工的firebase代码如下:
import db from "./firebaseInit.js";
export default {
name: "view-employee",
data() {
return {
employee_id: null,
name: null,
dept: null,
position: null
};
},
beforeRouteEnter(to, from, next) {
db
.collection("employees")
.where("employee_id", "==", to.params.employee_id),
get().then(querySnapShot => {
querySnapShot.forEach(doc => {
next(vm => {
vm.employee_id = doc.data().employee_id
vm.name = doc.data().name
vm.dept = doc.data().dept
vm.position = doc.data().position
})
});
});
}
};
当我在员工视图页面上将此脚本注释掉时,错误消失了。据我所知,我所做的一切都与视频中的教程相同,并且我的伙伴也完成了相同的项目。
还有可能与之相关的警告,其内容如下:
有多个模块的名称仅在大小写上有所不同。这个 使用以下命令在文件系统上编译时可能会导致意外行为 其他区分大小写。使用相等的套管。比较这些模块 身份标识: * /Users/jdurell/code/employeemanager/node_modules/babel-loader/lib/index.js!/Users/jdurell/code/employeemanager/src/components/FirebaseInit.js
我正在研究本教程/项目: https://www.youtube.com/watch?v=cjEzK4me1k8&index=4&list=PLillGF-RfqbYsOOycB67Raf9dwmL6Y31M
答案 0 :(得分:0)
Nemesv的回答正确。这是一个套管问题。我在其他组件上遇到了FirebaseInit问题。我将其更改为firebaseInit,因此两个组件的情况相同,并且错误已解决。谢谢!