如何升级到 Node.js SDK Admin SDK v10(模块化 SDK)getMessaging & getFirestore 调用?



我没有找到非常详细的解释如何升级到Node.js SDK Admin v10https://firebase.google.com/docs/admin/migrate-node-v10#use-modules-instead-of-namespaces我尝试按照docs

导入消息传递。
import {getFirestore} from "firebase-admin/firestore";
import { getMessaging } from 'firebase-admin/messaging'
const messaging = getMessaging();
const firestore = getFirestore();
import DocumentSnapshot = functions.firestore.DocumentSnapshot;

,然后得到各种错误与我的旧代码下面。有人可以指出一个更深入的例子,或者帮助解决这些错误消息吗?

messaging.MessagingDevicesResponse -> "Cannot find namespace 'messaging'.ts(2503)"
functions.Change<DocumentSnapshot<User>> > "Type 'DocumentSnapshot' is not generic.ts(2315)"
/**
* Aggregate valid ratings every time a new rating is added.
* @param {functions.Change} rawChange The change event from the database.
* @return {Promise<void>} Promise that resolves when the function is done.
*/
export const notifyUsers = async (
rawChange: functions.Change<functions.firestore.QueryDocumentSnapshot>
): Promise<void | messaging.MessagingDevicesResponse> =>
lookForAskChangeAndNotifyNearby(
rawChange as functions.Change<DocumentSnapshot<User>>
);

要开始,请查看有关升级到Node.js SDK Admin SDK v10(模块化SDK)的官方文档
Firebase Client SDK仍然有一个紧凑的版本,允许您使用旧的名称间隔语法,但最终将被删除,因此建议使用新的模块化API。
Admin SDK类似地允许您使用名称间隔和模块化语法;然而,它还没有完全模块化。
您可以看看这里的类似示例。

最新更新