首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复``firebase admin`和`firebase`包的类型不兼容问题

修复``firebase admin`和`firebase`包的类型不兼容问题
EN

Stack Overflow用户
提问于 2019-04-09 01:41:13
回答 1查看 281关注 0票数 7

我正在编写的函数旨在操作客户端代码或云函数中的Firestore数据。

不幸的是,firebase (用于客户端代码)和firebase-admin (用于云函数)的TypeScript类型虽然几乎相同,但却不兼容。除了导入和别名所有类型之外,还有没有其他的解决方案?

目前,我收到的错误如下:

Type 'FirebaseFirestore.DocumentReference' is not assignable to type 'firebase.firestore.DocumentReference'

这是因为我在客户机代码库中使用firebase定义接口,然后尝试初始化一个实例并使用firebase-admin在我的函数代码库中使用它。但是如果我交换了它们,同样的错误也会发生。

不幸的是,看起来Node Admin SDK TypeScript定义并不是客户端TypeScript定义的超集,即使它们看起来是从接口的角度来看的。

EN

回答 1

Stack Overflow用户

发布于 2019-04-09 02:02:32

您可以创建自己的接口来复制客户端和服务器SDK的公共元素,并在它们的实现周围实现一个包装器,以便根据需要进行切换。包装器将简单地委托给预期的目的地,还可能根据需要转换任何标记值,比如FieldValue.serverTimestamp()返回的值。

换句话说,没有简单的解决方案。这就像在多个实现上创建任何抽象一样,除了API通常不需要任何转换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55578927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档