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

Node.js/TypeScript项目中无法导入firebase-admin的initializeApp问题

问题:firebase-admin v12.0.0初始化时Chrome控制台报Class extends value undefined错误

我在项目中引入了firebase-admin v12.0.0包,初始化代码如下:

import { initializeApp, credential } from 'firebase-admin';

/*.....*/

initializeApp({
   credential: credential.cert({
      projectId: '...',
      privateKey: '...',
      clientEmail: '...',
   }),
});

Node.js版本为v18.19.1,期望firebase-admin能正常初始化,但Chrome开发者控制台出现以下错误:

chunk-345H5RC3.js?v=d7e643dc:4896 Uncaught TypeError: Class extends value undefined is not a constructor or null
    at node_modules/firebase-admin/lib/utils/api-request.js (chunk-345H5RC3.js?v=d7e643dc:4896:59)
    at __require2 (chunk-S5KM4IGW.js?v=d7e643dc:18:50)
    at node_modules/firebase-admin/lib/app/credential-internal.js (chunk-345H5RC3.js?v=d7e643dc:28359:25)
    at __require2 (chunk-S5KM4IGW.js?v=d7e643dc:18:50)
    at node_modules/firebase-admin/lib/app/lifecycle.js (chunk-345H5RC3.js?v=d7e643dc:29277:33)
    at __require2 (chunk-S5KM4IGW.js?v=d7e643dc:18:50)
    at node_modules/firebase-admin/lib/app/firebase-namespace.js (firebase-admin.js?v=d7e643dc:100221:23)
    at __require2 (chunk-S5KM4IGW.js?v=d7e643dc:18:50)
    at node_modules/firebase-admin/lib/default-namespace.js (firebase-admin.js?v=d7e643dc:100429:32)
    at __require2 (chunk-S5KM4IGW.js?v=d7e643dc:18:50)

已经尝试过更换Node.js和firebase-admin版本、删除node_modules后重新执行npm install,但问题仍未解决。

可能的解决办法

  • 注意firebase-admin的运行环境:firebase-admin是服务端专属库,不能直接在浏览器(Chrome)环境中运行。如果你的初始化代码是在前端页面执行的,这本身就是错误的——必须把这段逻辑移到Node.js后端服务(比如Express、Koa服务器),前端需要交互的话用firebase客户端SDK(firebase/app)。
  • 隔离服务端代码(SSR/SSG项目):如果是Next.js这类前后端同构项目,要确保firebase-admin的代码只在服务端执行,不要被打包到前端bundle里。比如放在API路由、getServerSideProps、getStaticProps或者服务端组件中,避免在客户端组件里导入。
  • 彻底清理依赖缓存:除了删除node_modules,还要清理包管理器缓存并重新生成锁文件:
    # npm用户
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
    # yarn用户
    yarn cache clean
    rm -rf node_modules yarn.lock
    yarn install
    
  • 检查依赖冲突:用命令查看依赖树,确认是否有版本冲突的嵌套依赖:
    npm ls firebase-admin
    
    如果发现有旧版本依赖被嵌套引入,可以在package.json中用overrides字段强制统一版本:
    "overrides": {
      "firebase-admin": "12.0.0"
    }
    
  • 降级到稳定兼容版本:尝试降级到v11.11.0版本(该版本在Node.js 18环境下兼容性经过验证):
    npm uninstall firebase-admin
    npm install firebase-admin@11.11.0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:15:12