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

Cloud Functions中Firestore用import导入时recursiveDelete报错求助

Cloud Functions中Firestore ES模块导入recursiveDelete报错的解决方法

在Cloud Functions中使用Firestore的recursiveDelete方法时,遇到如下问题:

  • 使用CommonJS导入时可正常运行:
const {Firestore} = require('@google-cloud/firestore');

export async function deleteDocRecursively(docRef) {
    await Firestore.recursiveDelete(docRef);
}
  • 使用ES模块import导入时触发TypeScript错误:
import {Firestore} from '@google-cloud/firestore';

export async function deleteDocRecursively(docRef) {
    await Firestore.recursiveDelete(docRef);
}

TS2339: Property 'recursiveDelete' does not exist on type 'typeof Firestore'.

问题原因

recursiveDelete并非Firestore类的静态方法,而是@google-cloud/firestore包中独立导出的函数。CommonJS版本的包出于兼容性,将该函数挂载到了Firestore类的静态属性上,而ES模块严格遵循模块导出结构,不会自动附加这类额外属性,因此直接通过Firestore.recursiveDelete访问会触发类型错误。

解决方法

直接从包中单独导入recursiveDelete函数即可:

import { Firestore, recursiveDelete } from '@google-cloud/firestore';

export async function deleteDocRecursively(docRef) {
    await recursiveDelete(docRef);
}

这种方式既符合ES模块的规范,也能正确通过TypeScript的类型校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:55:58