要在前端应用程序中处理 Firebase 数据,使用 Firebase JavaScript SDK 是一个很好的选择。但是,有时候需要更多灵活性和更自定义的逻辑时,使用自定义函数可能是更好的选择。Function Tree 是一个流程控制库,可以帮助我们更好地组织应用程序中的逻辑。而 function-tree-firebase-admin 则为我们提供了在 Function Tree 中执行 Firebase Admin API 的能力。
什么是 Firebase Admin SDK?
Firebase Admin SDK 是 Firebase 平台上强大的服务端 SDK。它提供了针对 Firebase 应用程序的后端服务的完全授权访问权限。function-tree-firebase-admin
可用于执行 Firebase Admin API 调用。
准备工作
在使用 function-tree-firebase-admin
时,您需要完成以下准备工作:
- 在 Firebase 控制台中创建一个服务帐号,并下载服务帐号的私钥文件。
- 在您的项目根目录中安装
firebase-admin
和function-tree-firebase-admin
依赖。
在您的项目中,安装 firebase-admin
、function-tree
和 function-tree-firebase-admin
:
npm i firebase-admin function-tree function-tree-firebase-admin
导入 function-tree
和 function-tree-firebase-admin
:
import { createFunctionTree } from 'function-tree'; import { firebaseAdmin } from 'function-tree-firebase-admin';
对 Firebase Admin API 进行身份验证
在执行任何 Firebase Admin API 调用之前,您需要将 SDK 初始化为服务帐号:
import admin from 'firebase-admin'; admin.initializeApp({ credential: admin.credential.cert('./path/to/service-account-key.json'), // 其他初始化选项... });
如何使用 function-tree-firebase-admin
创建一个名为 functionTree
的函数树:
const functionTree = createFunctionTree([ firebaseAdmin({ app: admin }), ]);
firebaseAdmin()
方法需要一个 admin
实例,该实例会被注入到全部 firebase-admin
API 调用中。
调用 Firebase Admin API 的方法将被传递给 Node.js 回调函数,以确保正确地处理异步问题。
创建自定义后端逻辑
现在可以创建你自己的 Function Tree 流程。每个流程将作为树节点。
以下是一个小例子,该示例从 Cloud Firestore 数据库中读取数据:
-- -------------------- ---- ------- ----------------------- ----- ---------- ----- - ----- -- - ------ --- ----------------- ------- -- - ----- --------- - ------------------------- --------- -------------------- ------ --------------------- -- - ----- ---- - --- --------------------------- -- - ----- ------- - ----------- ------------ - -------- --- ---------- - ----- ---------- -- ------------ -- - ------------ --- --- -- -- ---
该流程(树节点)使用 firestore()
描述符方法访问 Firebase Admin SDK 中的 Cloud Firestore。这将返回一个Firestore
实例,该实例可以用于读取和写入 Cloud Firestore 数据库。
运行 Function Tree 流程
您可以使用以下代码运行上面的例子:
functionTree .run('db/read') .then((ctx) => { console.log('result', ctx.result); }) .catch((err) => { console.log('Error!', err); });
这将返回在 Cloud Firestore 中找到的所有文档的数据指针。
结语
使用 function-tree-firebase-admin
可提供了更多灵活性,同时在处理 Firebase 数据时保持了一定的安全性。Function Tree 是一个流程控制库,帮助我们组织并管理应用程序中的逻辑。通过在 Function Tree 中使用 function-tree-firebase-admin
,您可以轻松地在应用程序的任何部分使用 Firebase Admin API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600559e281e8991b448d7743