# @chubbyts/chubbyts-framework 中文文档

规范地址：https://npmcn.com/package/%40chubbyts/chubbyts-framework/

版本：4\.2\.0
npm 元数据更新时间：2026-11-08T13:46:01.140Z
中文译文更新时间：2026-11-09T17:11:16.246Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40chubbyts/chubbyts-framework
原文对照：https://npmcn.com/package/%40chubbyts/chubbyts-framework/?lang=original
源码仓库：https://github.com/chubbyts/chubbyts-framework

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

- 包体积（解压后）：35.2 kB，31 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：5 个
- 首次发布：2022-05-26T14:22:11.090Z
- 最新版本发布：2026-11-08T13:46:00.885Z
- 近 30 天下载量：2191（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：69（近 12 个月 20 个）

## 中文简介

一个最小的,高性能的中件PSR-15启发了基于功能的微框架,尽可能不复杂地构建,主要针对那些想了解他们使用的所有销售商的开发者.

## 安装

```sh
npm install @chubbyts/chubbyts-framework
```

也可以使用：`pnpm add @chubbyts/chubbyts-framework`、`yarn add @chubbyts/chubbyts-framework`、`bun add @chubbyts/chubbyts-framework`

## README

# 粗体框架

[![CI](https://github.com/chubbyts/chubbyts-framework/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/chubbyts/chubbyts-framework/actions/workflows/ci.yml) [![Coverage Status](https://coveralls.io/repos/github/chubbyts/chubbyts-framework/badge.svg?branch=master)](https://coveralls.io/github/chubbyts/chubbyts-framework?branch=master) [![Mutation testing badge](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fchubbyts%2Fchubbyts-framework%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/chubbyts/chubbyts-framework/master) [![npm-version](https://img.shields.io/npm/v/@chubbyts/chubbyts-framework.svg)](https://www.npmjs.com/package/@chubbyts/chubbyts-framework)

[![bugs](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=bugs)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![code\_smells](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=code_smells)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![coverage](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=coverage)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![duplicated\_lines\_density](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![ncloc](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=ncloc)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![sqale\_rating](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![alert\_status](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=alert_status)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![reliability\_rating](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![security\_rating](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=security_rating)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![sqale\_index](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=sqale_index)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework) [![vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-framework&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-framework)

## 说明

最低的,高的 [表演者](https://web-frameworks-benchmark.netlify.app/result) 中间软件 [临 时 15](https://www.php-fig.org/psr/psr-15/#2-interfaces) 启发基于功能的微观框架尽可能地不复杂地构建,主要针对那些想了解他们使用的所有销售商的开发者.

![Workflow](https://npmcn.com/package/%40chubbyts/chubbyts-framework/resources/workflow.svg "Workflow")

## 所需资源

-   节点: 22
-   [@ chubbyts/ chubbyts-dic-types (英语)](https://www.npmjs.com/package/@chubbyts/chubbyts-dic-types): ^ 2.4.0 (中文(简体) )
-   [@chubbyts/chubbyts-http-error (英语)](https://www.npmjs.com/package/@chubbyts/chubbyts-http-error): ^3.6.0 (中文(简体) )
-   [@ hubbyts/ chubbyts- http- types](https://www.npmjs.com/package/@chubbyts/chubbyts-http-types): ^ 4.1.0 (中文(简体) )
-   [@ chubbyts/ chubbyts-log-类型](https://www.npmjs.com/package/@chubbyts/chubbyts-log-types): ^ 3. 4.0 (中文(简体) )
-   [@ chubbyts/ chubbyts-可推-tror](https://www.npmjs.com/package/@chubbyts/chubbyts-throwable-to-error): ^ 2.4.0 (中文(简体) )

## 安装

穿过 [国家预防机制](https://www.npmjs.com/) 作为 [@ chubbyts/ chubbyts-框架](https://www.npmjs.com/package/@chubbyts/chubbyts-framework)。 。 。 .

```sh
npm i \
  @chubbyts/chubbyts-framework-router-path-to-regexp@^4.1.1 \
  @chubbyts/chubbyts-framework@^4.2.0 \
  @chubbyts/chubbyts-http@^3.1.0
```

## 使用量

```ts
import { createPathToRegexpMatch }
  from '@chubbyts/chubbyts-framework-router-path-to-regexp/path-to-regexp-router';
import { createResponseFactory, createBodyFactory } from '@chubbyts/chubbyts-http/message-factory';
import { createApplication } from '@chubbyts/chubbyts-framework/application';
import { createErrorMiddleware }
  from '@chubbyts/chubbyts-framework/middleware/error-middleware';
import { createRouteMatcherMiddleware }
  from '@chubbyts/chubbyts-framework/middleware/route-matcher-middleware';
import { createGetRoute } from '@chubbyts/chubbyts-framework/router/route';
import { createRoutesByName } from '@chubbyts/chubbyts-framework/router/routes-by-name';

const bodyFactory = createBodyFactory();
const responseFactory = createResponseFactory(bodyFactory);

const app = createApplication([
  createErrorMiddleware(responseFactory, bodyFactory, true),
  createRouteMatcherMiddleware(
    createPathToRegexpMatch(
      createRoutesByName([
        createGetRoute<{ name: string }>({
          path: '/hello/:name',
          name: 'hello',
          handler: async (serverRequest) => {
            const response = responseFactory(200);

            return {
              ...response,
              headers: { ...response.headers, 'content-type': ['text/plain'] },
              body: bodyFactory(`Hello, ${serverRequest.attributes.name}`),
            };
          },
        }),
      ]),
    ),
  ),
]);
```

### 应用程序构建器

周围的外表 `createApplication` 编号 : `createErrorMiddleware` 编号 : `createRouteMatcherMiddleware` 编号 : `createRoute` 编号 : `createGroup`:纯结构糖,返回的处理器是同一种中间器件管与同一种管 明确组成:先出错中件,后出app中件,再出路由匹配器中件.

第一个论点涉及所有依附关系(`ApplicationBuilderDependencies`),第二个应用中间软件 (如果没有空阵列).

```ts
import { createPathToRegexpMatch as createMatch }
  from '@chubbyts/chubbyts-framework-router-path-to-regexp/path-to-regexp-router';
import { createResponseFactory, createBodyFactory } from '@chubbyts/chubbyts-http/message-factory';
import { createApplicationBuilder } from '@chubbyts/chubbyts-framework/facade';

const bodyFactory = createBodyFactory();
const responseFactory = createResponseFactory(bodyFactory);

const application = createApplicationBuilder(
  {
    createMatch,
    responseFactory,
    bodyFactory,
    // optional: debug, logger, mapToHttpError, createGeneratePath, createGenerateUrl
  },
  [corsMiddleware],
)
  .get('/ping', 'ping', pingHandler)
  .get('/openapi', 'openapi', openApiHandler)
  .group('/api/pets', [acceptNegotiationMiddleware, apiErrorMiddleware], (pets) =>
    pets
      .get('', 'pet_list', petListHandler)
      .post('', 'pet_create', [contentTypeNegotiationMiddleware], petCreateHandler)
      .get('/:id', 'pet_read', petReadHandler)
      .put('/:id', 'pet_update', [contentTypeNegotiationMiddleware], petUpdateHandler)
      .delete('/:id', 'pet_delete', petDeleteHandler),
  )
  .build();
```

### 服务器

#### 节点

通过标准节点运行应用程序 http 执行 .

```sh
npm i @chubbyts/chubbyts-http-node@^1.0.0
```

检查 [使用量](https://www.npmjs.com/package/@chubbyts/chubbyts-http-node#usage) 节.

#### uWebSockets (中文(简体) )

通过 uWebSockets http 执行运行应用程序 .

```sh
npm i @chubbyts/chubbyts-http-uwebsockets@^1.0.0
```

检查 [使用量](https://www.npmjs.com/package/@chubbyts/chubbyts-http-uwebsockets#usage) 节.

## 汉德勒/中件

-   [页面存档备份,存于互联网档案馆 @chubbyts/chubbyts-http-api](https://www.npmjs.com/package/@chubbyts/chubbyts-http-api)
-   [@chubbyts/chubbyts-http-cors (英语)](https://www.npmjs.com/package/@chubbyts/chubbyts-http-cors)
-   [@chubbyts/chubbyts-http-multip](https://www.npmjs.com/package/@chubbyts/chubbyts-http-multipart)
-   [@chubbyts/chubbyts-http-oidc (中文(简体) )](https://www.npmjs.com/package/@chubbyts/chubbyts-http-oidc)
-   [@chubbyts/chubbyts-http-rate-limit 页面存档备份,存于互联网档案馆](https://www.npmjs.com/package/@chubbyts/chubbyts-http-rate-limit)
-   [@chubbyts/chubbyts-http-static-文件](https://www.npmjs.com/package/@chubbyts/chubbyts-http-static-file)
-   [@chubbyts/chubbyts-http-受托代理](https://www.npmjs.com/package/@chubbyts/chubbyts-http-trusted-proxy)

## 斯凯莱通

-   [圆柱/圆柱-框架-斯凯莱通](https://github.com/chubbyts/chubbyts-framework-skeleton)
-   [圆柱/圆柱形](https://github.com/chubbyts/chubbyts-petstore)

## 版权

2026 道米尼克·佐格(英语:

## 常见问题

### @chubbyts/chubbyts-framework 是什么？

一个最小的,高性能的中件PSR-15启发了基于功能的微框架,尽可能不复杂地构建,主要针对那些想了解他们使用的所有销售商的开发者\.

### 如何安装 @chubbyts/chubbyts-framework？

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

### @chubbyts/chubbyts-framework 支持 TypeScript 吗？

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

### @chubbyts/chubbyts-framework 支持 ESM 还是 CommonJS？

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

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

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

### @chubbyts/chubbyts-framework 可以商用吗？

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

### @chubbyts/chubbyts-framework 的下载量有多少？

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

### @chubbyts/chubbyts-framework 还在维护吗？

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

