Firebase:FacebookAuthProvider 不是构造函数
Posted
技术标签:
【中文标题】Firebase:FacebookAuthProvider 不是构造函数【英文标题】:Firebase: FacebookAuthProvider is not a constructor 【发布时间】:2017-12-25 10:05:01 【问题描述】:我正在构建一个小应用程序并希望通过 Facebook 对其进行身份验证。我在 Firebase 仪表板中启用了 Facebook 作为身份验证方法,向 Facebook 提供了我的 Facebook 应用令牌和身份验证 URI。
这个问题是这样的:
未捕获的类型错误:WEBPACK_IMPORTED_MODULE_0__firebase_config_js.a.FacebookAuthProvider 不是构造函数
这里是有问题的 Vue JS 方法:
const sphinx = firebaseApp.auth()
methods:
signUp (event)
sphinx.getRedirectResult().then(function (result)
if (result.credential)
var token = result.credential.accessToken
var user = result.user
console.log(token, user)
)
// Start a sign in process for an unauthenticated user.
var provider = new sphinx.FacebookAuthProvider()
sphinx.signInWithRedirect(provider)
好像跟这条线有关:
var provider = new sphinx.FacebookAuthProvider()
但我对 JS 还是很陌生,但我认为这个问题与 ES6 环境中的 new
有关?如果是这样,我该如何改变。
【问题讨论】:
var provider = new firebase.auth.FacebookAuthProvider(); @EricGuan 做到了!为什么呢?我导入了firebase,然后分配给sphinx
。啊!没关系,因为我试图访问 firebaseApp
而不是 firebase
....
您能否解释一下这些差异。仅引用随机变量名称无济于事
【参考方案1】:
它不起作用的原因是,当您将其分配给 sphinx
变量时,您在 firebase 实例上调用了 auth 方法。同时,您要查找的方法位于 auth 对象本身中。
因此,访问您正在寻找的方法的正确方法是进入 auth 对象本身,如下所示:
var provider = new firebase.auth.FacebookAuthProvider()
【讨论】:
以上是关于Firebase:FacebookAuthProvider 不是构造函数的主要内容,如果未能解决你的问题,请参考以下文章
无法解决:com.google.firebase:firebase-ml-vision:24.1.3;无法解决:com.google.firebase:firebase-core:20.0.2
没有创建 Firebase 应用“[DEFAULT]” - 在 Flutter 和 Firebase 中调用 Firebase.initializeApp()
如何修复 Firebase 9.0 导入错误? “尝试导入错误:‘firebase/app’不包含默认导出(导入为‘firebase’)。”