简体   繁体   中英

auth.createUserWithEmailAndPassword is not a function

I have the following setup to connect to firebase but for some reason in the browser console it shows that auth.createUserWithEmailAndPassword() is not a function. Is there something wrong with my code?

        import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.0.2/firebase-app.js';
        import { getAuth, createUserWithEmailAndPassword } from 'https://www.gstatic.com/firebasejs/9.0.2/firebase-auth.js';
        import { getFirestore } from "https://www.gstatic.com/firebasejs/9.0.2/firebase-firestore.js"

        // TODO: Replace the following with your app's Firebase project configuration
        const firebaseConfig = {
            " my config here "
        };

        const app = initializeApp(firebaseConfig);
        const auth = getAuth();
        const db = getFirestore();

        var button = document.getElementById("button").addEventListener("click", function () {
            var email = document.getElementById("email").value;
            var phone = document.getElementById("phone").value;
            var password = document.getElementById("password").value;

            auth.createUserWithEmailAndPassword(email, password).then(cred => {
                console.log(cred);
            })
        });

edit: I removed auth. from auth.createUserWithEmailAndPassword(email, password).then(cred => { console.log(cred); and now it is giving me the current error: ```Uncaught (in promise) TypeError: Cannot create property '_canInitEmulator' on string 'heheboi@gmail.com'

at _performFetchWithErrorHandling (firebase-auth.js:1983)
at _performApiRequest (firebase-auth.js:1958)
at _performSignInRequest (firebase-auth.js:2030)
at signUp (firebase-auth.js:5330)
at createUserWithEmailAndPassword (firebase-auth.js:5978)
at HTMLButtonElement.<anonymous> (register.html:48) ``

Just update your code to the latest Firebase SDK 9:

import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.0.2/firebase-app.js';
import { getAuth, createUserWithEmailAndPassword } from 'https://www.gstatic.com/firebasejs/9.0.2/firebase-auth.js';
import { getFirestore } from "https://www.gstatic.com/firebasejs/9.0.2/firebase-firestore.js"

// TODO: Replace the following with your app's Firebase project configuration
const firebaseConfig = {
    " my config here "
};

const app = initializeApp(firebaseConfig);
const auth = getAuth();
const db = getFirestore();

var button = document.getElementById("button").addEventListener("click", function () {
    var email = document.getElementById("email").value;
    var phone = document.getElementById("phone").value;
    var password = document.getElementById("password").value;

    createUserWithEmailAndPassword(auth, email, password).then(cred => {
        console.log(cred);
    }).catch((error) => {
      const errorCode = error.code;
      const errorMessage = error.message;
      // ..
    });
});

You are already importing createUserWithEmailAndPassword . You can't use auth.createUserWithEmailAndPassword anymore. You can find here the latest docs.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM