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

Firebase Auth JS SDK创建账号报错:Cannot read properties of undefined (reading 'then')

Firebase Auth JS SDK(v9)创建账号时出现TypeError问题

我每次尝试用以下代码创建新账号:

import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";

const auth = getAuth();
createUserWithEmailAndPassword(auth, email, password)
  .then((userCredential) => {
    // Signed in 
    const user = userCredential.user;
    // ...
  })
  .catch((error) => {
    const errorCode = error.code;
    const errorMessage = error.message;
    // ..
  });

都会触发错误:

TypeError: Cannot read properties of undefined (reading 'then')

我的配置情况:

  • 使用Firebase 9版本
  • Firebase已通过配置信息正确初始化
  • 控制台中已启用「邮箱/密码」登录方式

请问Firebase Authentication JavaScript SDK是否存在已上报的这类问题?


可能的原因及解决方法

这个错误并非Firebase Auth SDK v9的普遍已知问题,更大概率是代码或环境的局部问题,常见排查方向如下:

  1. 确认Firebase初始化时机
    必须保证调用getAuth()和createUserWithEmailAndPassword前,Firebase已完成初始化。比如在React/Vue等框架中,避免在组件未挂载时执行Auth操作,可将相关逻辑放在组件挂载完成的生命周期钩子中,或通过onAuthStateChanged确认初始化状态。

  2. 检查email和password变量有效性
    如果email或password为undefined,会导致createUserWithEmailAndPassword返回undefined,进而无法调用.then()。调用前可添加日志确认变量值:

    console.log(email, password); // 验证变量是否有合法值
    
  3. 排查SDK导入冲突
    Firebase 9采用模块化导入,禁止混用v8及以下版本的命名空间导入方式(如import firebase from 'firebase/app'),两种导入方式共存会导致内部方法导出异常。

  4. 统一Firebase依赖版本
    检查package.json中所有Firebase相关包(firebase/app、firebase/auth等)的版本是否统一为9.x,版本不匹配会引发内部方法无法正常调用的问题。

  5. 清理构建缓存或检查环境
    若使用Webpack、Vite等构建工具,尝试清除构建缓存后重新打包;浏览器环境下,确认CDN引入的Firebase模块化脚本加载正常。

目前Firebase官方Issue追踪平台未出现大量此类通用问题反馈,按上述步骤排查基本可定位并解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:11:32