# @durable-streams/server 中文文档

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

版本：0\.3\.9
npm 元数据更新时间：2026-09-10T17:17:51.795Z
中文译文更新时间：2026-11-13T00:35:13.652Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：616 kB，22 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：4 个
- 首次发布：2025-12-23T17:49:58.919Z
- 最新版本发布：2026-09-10T17:17:51.425Z
- 近 30 天下载量：445653（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

持久流的Node.js 参考服务器执行

## 安装

```sh
npm install @durable-streams/server
```

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

## README

# @可持久流/服务器

持久流协议的Node.js参考服务器执行.

## 安装

```bash
npm install @durable-streams/server
```

## 概览

这个软件包为Node.js提供了持久流协议的参考执行. 它既支持内存又支持文件备份的存储模式,使其适合开发,测试,以及原型. 用于生产部署,使用 [凯迪插件](https://npmcn.com/package/%40durable-streams/caddy-plugin/README.md) 或者说 [电云](https://dashboard.electric-sql.cloud/)。 。 。 .

关于独立的二进制选项,参见: [基于凯迪服务器](https://github.com/durable-streams/durable-streams/releases)。 。 。 .

## 快速启动

```typescript
import { DurableStreamTestServer } from "@durable-streams/server"

const server = new DurableStreamTestServer({
  port: 4437,
  host: "127.0.0.1",
})

await server.start()
console.log("Server running on http://127.0.0.1:4437")
```

## 存储模式

### 内存( 默认)

快速,电平存储用于开发和测试. 奥米 `dataDir` 用于模拟 :

```typescript
const server = new DurableStreamTestServer({ port: 4437 })
```

### 文件备份

持续存储作为日志文件和元数据 LMDB 的流 :

```typescript
const server = new DurableStreamTestServer({
  port: 4437,
  dataDir: "./data/streams",
})
```

## 生命周期钩

音轨流创建和删除事件 :

```typescript
const server = new DurableStreamTestServer({
  port: 4437,
  onStreamCreated: (event) => {
    console.log(`Stream created: ${event.path} (${event.contentType})`)
  },
  onStreamDeleted: (event) => {
    console.log(`Stream deleted: ${event.path}`)
  },
})
```

## API 密码

### 持久性测试服务员

````typescript
interface TestServerOptions {
  port?: number                          // Default: 4437
  host?: string                          // Default: "127.0.0.1"
  longPollTimeout?: number               // Default: 30000 (ms)
  dataDir?: string                       // File-backed storage; omit for in-memory
  onStreamCreated?: StreamLifecycleHook  // Hook for stream creation
  onStreamDeleted?: StreamLifecycleHook  // Hook for stream deletion
  compression?: boolean                  // Default: true
  cursorIntervalSeconds?: number         // Default: 20
  cursorEpoch?: Date                     // Epoch for cursor calculation
}

class DurableStreamTestServer {
  constructor(options?: TestServerOptions)
  start(): Promise<void>
  stop(): Promise<void>
  readonly port: number
  readonly baseUrl: string
}

## Exports

```typescript
export { DurableStreamTestServer } from "./server"
export { StreamStore } from "./store"
export { FileBackedStreamStore } from "./file-store"
export { encodeStreamPath, decodeStreamPath } from "./path-encoding"
export { createRegistryHooks } from "./registry-hook"
export {
  calculateCursor,
  handleCursorCollision,
  generateResponseCursor,
  DEFAULT_CURSOR_EPOCH,
  DEFAULT_CURSOR_INTERVAL_SECONDS,
  type CursorOptions,
} from "./cursor"
export type {
  Stream,
  StreamMessage,
  TestServerOptions,
  PendingLongPoll,
  StreamLifecycleEvent,
  StreamLifecycleHook,
} from "./types"
````

## 测试您的执行

使用兼容测试套件验证协议的合规性 :

```typescript
import { runConformanceTests } from "@durable-streams/server-conformance-tests"

runConformanceTests({
  baseUrl: "http://localhost:4437",
})
```

## 许可证

阿帕奇 - 2.0

## 常见问题

### @durable-streams/server 是什么？

持久流的Node\.js 参考服务器执行

### 如何安装 @durable-streams/server？

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

### @durable-streams/server 支持 TypeScript 吗？

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

### @durable-streams/server 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

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

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

### @durable-streams/server 可以商用吗？

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

### @durable-streams/server 的下载量有多少？

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

### @durable-streams/server 还在维护吗？

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

