# @cccteam/resource-firestore 中文文档

规范地址：https://npmcn.com/package/%40cccteam/resource-firestore/

版本：0\.0\.23
npm 元数据更新时间：2026-11-04T15:38:59.812Z
中文译文更新时间：2026-11-09T06:07:17.259Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cccteam/resource-firestore
原文对照：https://npmcn.com/package/%40cccteam/resource-firestore/?lang=original
项目主页：https://github.com/cccteam/ccc-lib#readme
源码仓库：https://github.com/cccteam/ccc-lib

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：50.2 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：firebase ^12\.19\.0，@cccteam/resource ^0\.0\.24
- 首次发布：2026-10-02T17:18:49.521Z
- 最新版本发布：2026-11-04T15:38:59.293Z
- 近 30 天下载量：5066（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 23 个）

## 中文简介

在 @cccteam/resource上, Firestore 更改实时页面的种子

## 安装

```sh
npm install @cccteam/resource-firestore
```

也可以使用：`pnpm add @cccteam/resource-firestore`、`yarn add @cccteam/resource-firestore`、`bun add @cccteam/resource-firestore`

## README

# @ cccteam/ 资源- firestore

Firestore 更改实时页面的种子 [`@cccteam/resource`](https://npmcn.com/package/%40cccteam/resource/README.md)。 。 。 . 要求使用直播列表或直播行的页面在不投票的情况下保持当前状态:服务器 将每个订阅用户的更改文档写入该用户的更改集, 此种子 是每个标签的收听者 读取它,将每个更改 交给客户端的直播 ,用于重排行或列出更改名称。 这是唯一的包 3,取决于火地JS SDK;客户端保持自由.

页面选择什么,成本什么, 和它从未做的都是在客户端的README中 "活页"下. 这套合同没有增加任何内容 更改,客户端被写入 以便另一个可以替换它.

```bash
npm install @cccteam/resource @cccteam/resource-firestore firebase
```

`firebase` 是一个对等依赖: 应用程序安装一次, 所以 SDK 的一个副本 提供饲料和应用程序对Firebase的其他任何服务.

## 使用

建立种子,一旦会议得到认证,就交给客户端的直播会话; 关闭时停止会话,否则会话本身会被登录.

```ts
import { firestoreChangeFeed } from '@cccteam/resource-firestore';

const api = createApi({ baseUrl: '/api' });
await api.live.start(firestoreChangeFeed());
// ...
await api.live.stop();
```

角化应用程序提供它,和 `AuthService` 开始并停止:

```ts
import { CHANGE_FEED } from '@cccteam/resource-angular/types';
import { firestoreChangeFeed } from '@cccteam/resource-firestore';

providers: [{ provide: CHANGE_FEED, useFactory: () => firestoreChangeFeed() }];
```

## 饲料会做什么

`start(identity)` 接收服务器为会话主机在 `GET <prefix>/live/token`:GCP项目,Firestore数据库,或者模拟器 或自定义的标志。 它为项目初始化了自己的Firebase应用程序(和网络API) 键,在生产中)打开数据库,并作为用户连接:对模拟器, 与 SDK 为 uid 的模拟用户符号(`connectFirestoreEmulator(db, host, port, { mockUserToken: { sub: uid, user_id: uid } })`); 生产中,通过签署自定义符号 通过 Firebase Auth 在只保存在内存的认证上: 身份为 会话停止并撤销,所以没有写到浏览器的存储器上,而且 a 页面加载开始于没有用户可以重新加载. 那它会听 `users/{uid}/changes`,命令 以 `at` 一旦看到变化,就与之后的改变联系在一起.

一个听众质素的第一快照 看到了最后的变化 并释放出什么。 一开始 文档在页面本身的第一次获取之前已经存在;在错误发生后,重新同步 恢复释放出所有的东西 以后的每个文件成为一份文件 `ChangeEvent`数字 : 联合国 `kind` (单位:千美元)`row`, (中文(简体) ), `list`,或 `resource`, (中文(简体) ), `resource`, (中文(简体) ), `key`, (中文(简体) ), `domain`,以及 `deleted` 作为 文档携带它们,以及 `at` 作为十进制中的 unix 微秒, 版本的反切 携带。 文档在第二个内重写( 服务器连接到一个目标 ) (每秒)向前移动,是又一个事件;文件到期于设定的结果 没有.

静静的伸展并不是漏掉任何东西的证据:听众保持其联系 并在下降后恢复,更改文档直播10分钟,所以更改只丢失 当听者倒下或被停职的时间更长时. 因此,饲料喷出 `resync` 两次,没有其他。 当一个听众报告错误时,它一无所获 更多,所以在等待后再次启动,每次失败都会加倍(一秒,上升) 以最后的变化为界 转动。 当页面再次显出时(`visibilitychange` 改为可见,或 `pageshow` 从后向缓存),被隐藏的时间超过更改文档活取的时间后, 由于浏览器会节流或放下背景页面的连接,所以种子会发出再同步. 这个 live session 反射每个活行和列表 无论是用哪种方式, 并进行同样的 当它开始.

`stop()` 释放收听器,将身份签出,并删除其初始化的应用程序. 一站一站都记不起来:后起再听.

安全规则是服务器的船让用户读取他们自己的更改集,但什么都没有 其它的, 不要让客户端写; 种子从不写.

## {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}什么是可以描绘的

`firestoreChangeFeed(options)` 带 `resyncAfterHidden` (一个页面可能隐藏多久之前) 它的返回是一个再同步; 更改文档的默认寿命, `retryDelay` 财务报告和审定财务报表 `maxRetryDelay` (重启等), `now` (钟声)和 `visibility` 财务报告和审定财务报表 `page` (其中 文档的能见度和页面的隐藏和显示被听到; 文档和窗口由 默认). 每一个都有一个默认,一个Spec是通常的转出一个的原因.

## 测试

谱写反对 `bun:test` 运行 `bun test projects/resource-firestore/` (后面的斜线使Angular 图书馆不见踪影); `bun run typecheck:firestore` 用 tsc 编译 `projects/resource-firestore/tsconfig.spec.json`。 。 。 . `bun run test:firestore` 运行两者。 这些规格取代了三个SDK模块(`firebase/app`, (中文(简体) ), `firebase/auth`, (中文(简体) ), `firebase/firestore`) 记录待机 `mock.module`驱动器 收听者的快照和手接出错,请站在文档和窗口中隐藏 并显示页面,并读取事件和再链接;没有Firestore、模拟或真实的 参与.

## 常见问题

### @cccteam/resource-firestore 是什么？

在 @cccteam/resource上, Firestore 更改实时页面的种子

### 如何安装 @cccteam/resource-firestore？

在项目目录运行 npm install @cccteam/resource-firestore，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：firebase（^12\.19\.0）、@cccteam/resource（^0\.0\.24）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @cccteam/resource-firestore 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cccteam/resource-firestore 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @cccteam/resource-firestore 可以商用吗？

@cccteam/resource-firestore 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @cccteam/resource-firestore 的下载量有多少？

根据 npm 官方下载统计，@cccteam/resource-firestore 在 2026/10/10 – 2026/11/08 这 30 天内被下载 5,066 次，日均约 169 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cccteam/resource-firestore 还在维护吗？

最新版本 0\.0\.23 发布于 2026/11/04（4 天前）；至今共发布 23 个版本，其中过去 12 个月发布了 23 个；首次发布于 2026/10/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

