【问题标题】:Cannot find namespace 'FirebaseFirestore' - Node.js, Express, Typescript找不到命名空间“FirebaseFirestore”-Node.js、Express、Typescript
【发布时间】:2021-11-18 11:31:11
【问题描述】:

我在我的 Express + Typescript 服务器中使用 Firebase Admin SDK。我正在尝试使用 Firestore 的方法 withConverter() 但是,我收到错误“找不到命名空间 'FirebaseFirestore'.ts(2503)”。我该如何处理?

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount)
});

const firestore = admin.firestore();

interface BlogpostColletion {
    text: String,
    title: String,
}

interface UsersCollection {
    blogposts: BlogpostColletion
}

const converter = {
    toFirestore: (data: UsersCollection) => data,
    // PROBLEM HERE???? "Cannot find namespace 'FirebaseFirestore'.ts(2503)" 
    fromFirestore: (snap: FirebaseFirestore.QueryDocumentSnapshot) =>
        snap.data() as UsersCollection
}

【问题讨论】:

  • 你试过admin.firestore.QueryDocumentSnapshot而不是FirebaseFirestore.QueryDocumentSnapshot吗?
  • 谢谢。更改为“admin.firestore.QueryDocumentSnapshot”会出现“找不到命名空间管理员”的问题。但是将 admin 的导入从 "var admin = require("firebase-admin")" 更改为 "import * as admin from 'firebase-admin'" 似乎已经解决了:)
  • 很高兴听到这个消息!我会把它作为答案发布:) 你可以接受它,这样其他人就会知道它已经解决了

标签: node.js typescript express google-cloud-firestore firebase-admin


【解决方案1】:

您可以像这样从 Admin SDK 导入 QueryDocumentSnapshot

import * as admin from "firebase-admin"

fromFirestore: (snap: admin.firestore.QueryDocumentSnapshot) 

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多