# @authup/core-realtime-kit 中文文档

规范地址：https://npmcn.com/package/%40authup/core-realtime-kit/

版本：1\.0\.0-beta\.73
npm 元数据更新时间：2026-11-01T20:46:51.411Z
中文译文更新时间：2026-11-07T06:19:50.967Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40authup/core-realtime-kit
原文对照：https://npmcn.com/package/%40authup/core-realtime-kit/?lang=original
项目主页：https://github.com/authup/authup#readme
源码仓库：https://github.com/authup/authup

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

- 包体积（解压后）：46.2 kB，35 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=26\.0\.0
- 运行依赖：1 个
- peer 依赖：socket\.io-client ^4\.8\.4
- 首次发布：2024-05-08T08:30:23.102Z
- 最新版本发布：2026-11-01T20:46:50.934Z
- 近 30 天下载量：2341（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：59（近 12 个月 44 个）

## 中文简介

Authup 实时实体事件的 socket.io 客户端管理器和事件名帮助器 .

## 安装

```sh
npm install @authup/core-realtime-kit
```

也可以使用：`pnpm add @authup/core-realtime-kit`、`yarn add @authup/core-realtime-kit`、`bun add @authup/core-realtime-kit`

## README

![Authup logo](https://raw.githubusercontent.com/authup/authup/master/.github/assets/logo.svg)

# @authup/core-realtime-kit (英语)

**Authup 实时实体事件的 socket.io 客户端管理器和事件名帮助器 .**  
每个服务器一个管理器:每个命名空间一个插座,每个握手时发送的访问符.

[![npm version](https://img.shields.io/npm/v/@authup/core-realtime-kit)](https://www.npmjs.com/package/@authup/core-realtime-kit) [![CI](https://github.com/authup/authup/actions/workflows/main.yml/badge.svg)](https://github.com/authup/authup/actions/workflows/main.yml) [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue)](https://npmcn.com/package/%40authup/core-realtime-kit/LICENSE)

[**安装**](https://npmcn.com/package/%40authup/core-realtime-kit/#readme-installation) • 妇女 [使用量](https://npmcn.com/package/%40authup/core-realtime-kit/#readme-usage) • 妇女 [API 密码](https://npmcn.com/package/%40authup/core-realtime-kit/#readme-api) • 妇女 [文档](https://authup.org/)

* * *

## 合适的话

当实体更改时, Authup 的服务器会通过 `@authup/server-kit`套接字处理器,它通过套接字发出。 io Redis 发射器,其名称如下: `userCreated`双方商定: `buildEventFullName`,用来构建这些名称,以及 `ClientManager`,浏览器客户端用于连接和收听. `@authup/server-kit` 财务报告和审定财务报表 [`@authup/client-web-kit`](https://github.com/authup/authup/tree/master/packages/client-web-kit) 依赖它。 Authup 本身没有运行 socket.io 服务器: 事件到达 socket 。 iO 服务器您运行在同一 Redis 上。 只有在您自己建立这样的客户端时才直接安装此软件包 .

## 安装

```shell
npm install @authup/core-realtime-kit socket.io-client
```

`socket.io-client` (单位:千美元)`^4.8.4`)是一个对等依赖:您安装它。 仅限无害环境管理。 节点.js `>=26.0.0`,或浏览器捆绑器.

## 使用量

### 连接

```typescript
import { ClientManager } from '@authup/core-realtime-kit';

const manager = new ClientManager({
    url: 'https://realtime.example.com',
    token: () => localStorage.getItem('access_token') ?? undefined,
});

const socket = await manager.connect('/');
```

-   `connect(namespace)` 当套接字连接时解决,或与套接字拒绝 `connect_error`。默认名称空间是 `/`。 。 。 .
-   `token` 是字符串或同步或同步函数。 它被召来 每一个握手和发送 `auth.token`; 投出函数不会发出任何符号.
-   基本的 socket.io `Manager` 使用 `autoConnect: false`; 在您拨打之前没有连接 `connect`。 。 。 .
-   一条路径 `url` 变成 socket.io `path`数字 : `https://example.com/api` 连接到 `path: '/api/socket.io'`。一个 `options.path` 附于该前缀.

### 倾听实体活动

```typescript
import { EventNameSuffix, buildEventFullName } from '@authup/core-realtime-kit';

socket.emit(buildEventFullName('user', EventNameSuffix.SUBSCRIBE));

socket.on(buildEventFullName('user', EventNameSuffix.CREATED), (payload) => {
    // payload.data is the created user, payload.meta.roomName the room it was sent to
});
```

`buildEventFullName(entity, verb)` 用资本化动词来拼接实体名称 : `('user', 'created')` 实值 `userCreated`。 。 。 .

### 符号更改后重新连接

```typescript
await manager.reconnectAll();
```

信使只在握手时被读取,所以一个套接字保持它与之相连的信使. `reconnect(namespace)` 财务报告和审定财务报表 `reconnectAll()` 断开并再次连接以发送当前 . `disconnect(namespace)` 关闭套接字并保存到以后; `eject(namespace)` 闭而忘之.

## 选项

`new ClientManager(ctx)`数字 :

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `url` | `string` | 所需经费 | 服务器 URL; 它的路径成为套接字 。 io 路径前缀 |
| `token` | `string | () => string | undefined | Promise<string | undefined>` |  | 发送为 `auth.token` 在每次握手时 |
| `options` | `Partial<ManagerOptions>` |  | 传递到 socket.io客户端 `Manager` |

## API 密码

| 导出 | 仁爱 | 目的 |
| --- | --- | --- |
| `ClientManager` | 类 | 一个插座.io `Manager`,每个命名空间一个套接字 : `connect`, (中文(简体) ), `disconnect`, (中文(简体) ), `reconnect`, (中文(简体) ), `reconnectAll`, (中文(简体) ), `inject`, (中文(简体) ), `eject`, (中文(简体) ), `options` |
| `ClientManagerContext`, (中文(简体) ), `ClientManagerTokenFn` | 类型 | 构造器输入和符号函数 |
| `buildEventFullName` | 函数 | `entity` + 资本化 `verb` |
| `EventNameSuffix` | 语句 | `created`, (中文(简体) ), `updated`, (中文(简体) ), `deleted`, (中文(简体) ), `subscribe`, (中文(简体) ), `unsubscribe` |
| `EventFullName`, (中文(简体) ), `EventPayload` | 类型 | 事件名称模板和有效载荷形状 |
| `isEventTarget`, (中文(简体) ), `isEventCallback` | 函数 | 套接字处理器参数的守护符 |
| `STCEvents`, (中文(简体) ), `CTSEvents`, (中文(简体) ), `STSEvents`, (中文(简体) ), `STCEventContext`, (中文(简体) ), `EventCallback`, (中文(简体) ), `DefaultEvents` | 类型 | 输入套接字的事件映射类型 |

## 许可证

由 所制

现按 [Apache 2.0 许可证](https://npmcn.com/package/%40authup/core-realtime-kit/LICENSE)。 。 。 .

## 常见问题

### @authup/core-realtime-kit 是什么？

Authup 实时实体事件的 socket\.io 客户端管理器和事件名帮助器 \.

### 如何安装 @authup/core-realtime-kit？

在项目目录运行 npm install @authup/core-realtime-kit，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：socket\.io-client（^4\.8\.4）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @authup/core-realtime-kit 支持 TypeScript 吗？

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

### @authup/core-realtime-kit 支持 ESM 还是 CommonJS？

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

### @authup/core-realtime-kit 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=26\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @authup/core-realtime-kit 可以商用吗？

@authup/core-realtime-kit 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @authup/core-realtime-kit 的下载量有多少？

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

### @authup/core-realtime-kit 还在维护吗？

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

