_firebase_config__WEBPACK_IMPORTED_MODULE_3__.default.createUserWithEmailAndPassword is not a function in Vue Js

Viewed 72

createUserWithEmailAndPassword function is not working for me. Below are my code -

config.js

import firebase  from 'firebase/app'
import 'firebase/firestore'
import 'firebase/auth'

const firebaseConfig = {
    apiKey: "AIzaSyBD8W5T7ZSvryW2TNSWOgoCO3EpyV6i65o",
    authDomain: "vue-firebase-site-eb79e.firebaseapp.com",
    projectId: "vue-firebase-site-eb79e",
    storageBucket: "vue-firebase-site-eb79e.appspot.com",
    messagingSenderId: "657936011344",
    appId: "1:657936011344:web:a2498d2fe27f951b6b8155"
  };


firebase.initializeApp(firebaseConfig)

const projectAuth = firebase.auth();
const projectFirestore = firebase.firestore();
const timeStamp = firebase.firestore.FieldValue.serverTimestamp

export default { projectAuth, projectFirestore, timeStamp }

useSignUp.js

import { ref } from "vue"
import projectAuth from '../firebase/config'

const  error = ref(null)

const signup = async (email,password,displayName) => {
    error.value  =  null

    try {
        const res = await projectAuth.createUserWithEmailAndPassword(email, password)
        console.log(res)
        if(!res){
            throw new Error('Could not complete the signup')
        }
        await res.user.updateProfile({displayName})
        error.value = null
        return res
    } catch (err) {
        console.log(err.message)
        error.value = err.message
    }
}

const useSignup = () =>{

    return{error, signup}
}

export default useSignup

Tried a number of things-

  1. Delete node modules and install them again.
  2. Change the version of firebase as well

Nothing working for me any solutions are appreciated.

Thanks in Advance!!

1 Answers

when you importing the config.js file inside useSignUp.js you are setting the whole object as projectAuth

what you need to do is following:

import { projectAuth } from '../firebase/config' // just get projectAuth variable from config.js

edit:

There is another way to work this around:

import firebaseConfig from '../firebase/config' 

then inside the try block use this:

const res = await firebaseConfig.projectAuth.createUserWithEmailAndPassword(email, password)
Related