# @chanx-js/server 中文文档

规范地址：https://npmcn.com/package/%40chanx-js/server/

版本：2\.2\.0
npm 元数据更新时间：2026-11-03T12:38:05.109Z
中文译文更新时间：2026-11-09T17:29:14.885Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：144 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：2 个
- peer 依赖：ws \>=8\.17，hono \>=4，yaml \>=2，crossws \>=0\.4，fastify \>=5，@fastify/websocket \>=11
- 首次发布：2026-10-24T03:40:49.862Z
- 最新版本发布：2026-11-03T12:38:04.753Z
- 近 30 天下载量：2110（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 11 个）

## 中文简介

为节点所开的chanx:以主题和组字键入的WebSocket消费者,语出与Python的chanx相同的协议.

## 安装

```sh
npm install @chanx-js/server
```

也可以使用：`pnpm add @chanx-js/server`、`yarn add @chanx-js/server`、`bun add @chanx-js/server`

## README

# @ chanx-js/ 服务器

用于 JavaScript 和 TypeScript 的安全 WebSocket 服务器. 声明信件一次: 每个动作得到一个 经验证、打入的处理器、跨进程广播的组,以及整个API 记录为 AsyncAPI,从中 [`@chanx-js/codegen`](https://js.chanx.dev/client/codegen) 生成 输入客户端.

在节点上运行 `ws`,快活,可亚,快活,霍诺,雀巢JS,邦和德诺.

**[文档](https://js.chanx.dev/)** • 妇女 [开始](https://js.chanx.dev/server/) • 妇女 [为什么?](https://js.chanx.dev/introduction/why) • 妇女 [API 密码](https://js.chanx.dev/api/)

```bash
npm install @chanx-js/server ws zod
```

```ts
import { createServer } from 'node:http';
import { z } from 'zod';
import {
  PingMessage,
  PongMessage,
  consumer,
  createChanx,
  defineMessage,
} from '@chanx-js/server';
import { asyncapiMiddleware, attachChanx } from '@chanx-js/server/node';

const Chat = defineMessage('chat', z.object({ text: z.string() }));
const Notice = defineMessage('notice', z.object({ text: z.string() }));

const chat = consumer('/ws/chat/{room}', {
  name: 'chat',
  groups: (conn) => [`room.${conn.params.room}`],
})
  .on(PingMessage, { output: PongMessage }, () => PongMessage.create())
  .on(Chat, { output: Notice }, (m, ctx) =>
    ctx.broadcast(Notice.create({ text: m.payload.text })),
  );

const chanx = createChanx({ consumers: [chat] });
const server = createServer(asyncapiMiddleware(chanx)); // docs at /asyncapi
attachChanx(server, chanx);
server.listen(8000);
```

-   **处理器,如果/ else:** 有效载荷由任何标准Schema库验证 (Zod, Valibot, ArkType) 在你的操作员运行之前.
-   **团体和专题:** 并让客户订阅许多流 一个插座。 跨进程 [`@chanx-js/layers`](https://js.chanx.dev/server/layers)。 。 。 .
-   **任何地方运行 :** 节点的 `http`、快活、可亚、快活、Hono、Bun、Deno [网点JS](https://js.chanx.dev/server/integrations/nestjs)。见 [整合](https://js.chanx.dev/server/integrations/)。 。 。 .
-   **测试 :** 进程内客户端和广播抓取,来自 `@chanx-js/server/testing`。 。 。 .
-   **与 Python 兼容 [香肠](https://github.com/chanx-dev/chanx)数字 :** 不变 协议, 相同的 AsyncAPI, 一个Redis, 两者共享 .

麻省理工学院有执照.

## 常见问题

### @chanx-js/server 是什么？

为节点所开的chanx:以主题和组字键入的WebSocket消费者,语出与Python的chanx相同的协议\.

### 如何安装 @chanx-js/server？

在项目目录运行 npm install @chanx-js/server，或使用 pnpm add / yarn add / bun add。

### @chanx-js/server 支持 TypeScript 吗？

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

### @chanx-js/server 支持 ESM 还是 CommonJS？

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

### @chanx-js/server 需要什么版本的 Node\.js？

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

### @chanx-js/server 可以商用吗？

@chanx-js/server 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @chanx-js/server 的下载量有多少？

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

### @chanx-js/server 还在维护吗？

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

