You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase登录时signInWithEmailAndPassword未定义报错如何解决?

报错触发原因

当前使用的是Firebase v9及以上版本的模块化SDK,signInWithEmailAndPassword是firebase/auth模块内置的登录认证API,由于你在JavaScript代码的导入语句中未引入该方法,调用时就会触发未定义的引用类错误。

Uncaught ReferenceError: signInWithEmailAndPassword is not defined at HTMLFormElement. (index.js:42)

修复方案

第一步:补充导入缺失的API

修改index.js文件顶部的firebase/auth导入语句,将signInWithEmailAndPassword加入导入列表:

// 修改前
import { getAuth, onAuthStateChanged, signOut } from "firebase/auth";

// 修改后
import { getAuth, onAuthStateChanged, signOut, signInWithEmailAndPassword } from "firebase/auth";

第二步:可选逻辑优化(非强制,可避免后续逻辑异常)

signInWithEmailAndPassword执行成功后返回的是UserCredential实例,需要主动从中取出user属性才能获取登录用户对象,原有逻辑直接使用返回值判断会存在隐式问题,可调整登录提交的回调逻辑如下:

form.addEventListener('submit', (event) => {
    event.preventDefault();
    const email = document.getElementById('email').value;
    const password = document.getElementById('password').value;

    signInWithEmailAndPassword(auth, email, password)
    .then((userCredential) => {
        const user = userCredential.user;
        if (user) {
          alert('登录成功')
        }
    })
    .catch((error) => {
        console.log('error',error)
    });
})

内容的提问来源于stack exchange,提问作者ASHIRVAD SATAPATHY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:45:04