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

TypeScript开发Firebase Functions部署时抛出类型错误如何解决

错误根因

该报错是嵌套项目结构下的TS类型声明冲突:你的Firebase Functions目录嵌套在包含React的上层项目中,TS编译时同时扫描到了上层根目录node_modules和functions子目录node_modules中的两份@types/react声明文件,同一个SVG属性被重复定义触发了TS2717错误。

解决方案

  • 方案1:修改functions目录下的tsconfig.json配置,新增编译参数从编译层面屏蔽冲突
    新增三个配置项:

    1. skipLibCheck: true:跳过所有第三方.d.ts声明文件的类型检查,不会影响业务代码的TS校验规则
    2. typeRoots: ["./node_modules/@types"]:指定TS仅读取当前functions目录下的类型包,禁止向上递归查找上层目录的node_modules类型
    3. 可选:如果云函数不需要React相关类型,新增types: ["node"]指定仅加载Node.js基础类型,完全避免加载到无关的React类型声明

    修改后完整的tsconfig.json参考:

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "skipLibCheck": true,
    "typeRoots": ["./node_modules/@types"],
    "types": ["node"]
  },
  "compileOnSave": true,
  "include": ["src"]
}
  • 方案2:清理functions目录下的冗余依赖
    如果云函数业务完全不需要React相关能力,直接删除functions目录下误装的React类型包即可,在functions目录执行命令:
    npm uninstall @types/react @types/react-dom

修改完成后重新执行npm run deploy即可正常部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:51:02