You need to enable JavaScript to run this app. 如何在TypeScript+Node.js中从Firebase Admin SDK导入MessagingPayload接口
优惠活动
大模型
产品
解决方案
定价
更多

如何在TypeScript+Node.js中从Firebase Admin SDK导入MessagingPayload接口

Firebase Admin MessagingPayload 正确导入方法

报错原因

Firebase Admin SDK v9及以上版本将各个服务的类型定义拆分到了对应子模块,不再从根路径统一导出所有接口,因此直接从"firebase-admin"导入MessagingPayload会触发类型找不到的报错。

两种可用解决方案

  • 方案1:从messaging子模块导入类型
    使用TypeScript专属的import type语法导入类型(无运行时代码,编译后会自动清除):
    import type { MessagingPayload, MessagingOptions } from "firebase-admin/messaging";
    
    导入完成后即可直接用MessagingPayload对你的变量做类型注解,和你现有的写法完全兼容。
  • 方案2:直接通过admin命名空间引用类型(无需额外导入)
    如果你已经导入了firebase-admin全局实例,不需要单独导入接口,直接通过命名空间指定类型即可:
    import * as admin from "firebase-admin";
    
    const myPayload : admin.messaging.MessagingPayload = {
        data: notification.toObject(),
        notification: {
            title: notification.title,
            body: notification.body,
            image: notification.imagePath,
        },
    };
    
    await admin.messaging().sendToDevice(tokens, myPayload, options);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 07:51:00