Firebase - 使用 Firestore 的 FieldValue

Que*_*Que 5 firebase typescript google-cloud-firestore

在模型中,我有以下内容。但是,升级到 Firebase 版本 9 后,这不再起作用。

'"/node_modules/firebase/compat/index"' 没有导出成员 'firestore'。

import firebase from 'firebase/app';
import 'firebase/firestore';

export interface ModelTest {
    date: firebase.firestore.FieldValue | firebase.firestore.Timestamp | Date;
}
Run Code Online (Sandbox Code Playgroud)

我快速浏览了文档,但还没有找到解决方案(还......)。Firebase 有一个“兼容”模式,这显然是暂时的。为了避免实施临时的东西,是否有新的导入方式?

====

更新

这似乎有效:

import { Timestamp, FieldValue } from "firebase/firestore";

export interface ModelTest {
  date?: FieldValue | Timestamp | Date;
}
Run Code Online (Sandbox Code Playgroud)

Dha*_*raj 2

compat如果核心是从以下位置导入的,您还应该导入您正在使用的 Firestore 或任何 Firebase 服务的版本compat

import firebase from 'firebase/compat/app';
import 'firebase/compat/firestore';
// import 'firebase/compat/[SERVICE_NAME]';
// compat version    ^^^
Run Code Online (Sandbox Code Playgroud)

您可以显式从非兼容版本导入FieldValue,但最好使用单个版本以保持一致性。