firebase.auth.GoogleAuthProvider 不是构造函数

vim*_*jan 2 firebase vue.js firebase-authentication

我正在尝试在 Vue 框架中使用 firebase 使用 google sign。我不知道这是什么错误,任何人都可以帮我解决这个问题。

vue.runtime.esm.js?2b0e:1888 TypeError: _firebase_js__WEBPACK_IMPORTED_MODULE_2__.fb.auth.GoogleAuthProvider is not a constructor
at VueComponent.socialLogin (Signin.vue?3d55:76)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179)
at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917)
Run Code Online (Sandbox Code Playgroud)

这是我的代码

firebase.js

import firebase from "firebase";
var firebaseConfig = {
    config
};
const fb=firebase.initializeApp(firebaseConfig);
export { fb };
Run Code Online (Sandbox Code Playgroud)

登录.vue

<script>
    import { fb } from "../firebase.js";
    export default {
      name: "Signin",
      components: {},
      data() {
        return {
        };
      },
    
      methods: {
         socialLogin() {
       const provider = new fb.auth.GoogleAuthProvider();
    
            fb.auth().signInWithPopup(provider).then((result) => {
              this.$router.replace('home');
            }).catch((err) => {
              alert('Oops. ' + err.message)
            });
          }
      }
    };
    </script>
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 6

auth属性(不是auth()功能)可在静态的firebase对象,而不是你的火力点应用

你想要更像这样的东西

import firebase from "firebase/app"
import "firebase/auth" //  this could also be in your `firebase.js` file

const provider = new firebase.auth.GoogleAuthProvider()
Run Code Online (Sandbox Code Playgroud)