SuperAPI AI 工具集

firebase

编程与开发

查看项目

更新于 10-15 19:54

技能介绍

用途:整理 Firebase/Firestore 在 Web 与移动应用中的开发模式,强调实时数据、离线支持与安全规则。核心原则是“按用途反范式化、用规则做校验、水平扩展”。

主要能力:覆盖 Firebase 技术栈,包括 Firestore(实时同步的 NoSQL 文档数据库)、Authentication(用户认证、OAuth、匿名会话)、Storage(带安全规则的文件上传)、Functions(Node.js 无服务后端)、Hosting(静态站点 + CDN)以及 Extensions 预置方案。

使用方式:先安装 CLI 并初始化。安装命令:npm install -g firebase-tools;登录:firebase login;初始化:firebase init;模拟器初始化:firebase init emulators;启动本地开发:firebase emulators:start。项目结构含 firebase.json、firestore.rules、firestore.indexes.json、storage.rules 与 functions/。

数据建模:文档结构建议扁平化并含所需字段,例如 Post 中反范式化存储 authorName、authorAvatar,使用聚合计数器 likeCount。子集合适合无界列表(评论、消息)、访问模式不同的数据、独立增长的数据。常见模式包括内嵌数据(有界且总需)、引用加反范式化、聚合文档计数器。

SDK 与操作:使用 TypeScript 模块化 SDK(v9+)初始化 app、db、auth、storage,开发环境可连接模拟器。提供 CRUD、查询过滤与分页(where、orderBy、limit、startAfter)、serverTimestamp 等。实时监听用 onSnapshot,可监听单文档或查询集合,并可封装 React Hook。Web 离线持久化通过 enableIndexedDbPersistence 或 enableMultiTabIndexedDbPersistence,并可通过 snapshot.metadata.fromCache 判断数据来源。

安全规则:在 firestore.rules 中定义 helper 函数如 isAuthenticated、isOwner、isAdmin,对 posts、comments、users 及私密子集合分别设置读写权限,并可在规则内做数据校验(字段类型与长度限制)。可用 @firebase/rules-unit-testing 本地测试规则。

Auth 与 Functions:支持邮箱密码注册登录、登出、onAuthStateChanged 监听,以及 Google 等 OAuth 弹窗/重定向登录。Cloud Functions 支持 HTTP 端点、Firestore 触发器和可调用函数(onCall),可做鉴权与校验。另有 writeBatch 批量写入和 runTransaction 事务,以及 firestore.indexes.json 复合索引配置。

限制:资料未提供收费、价格、平台支持范围与性能数据,暂未提供。