# @expressots/adapter-express 中文文档

规范地址：https://npmcn.com/package/%40expressots/adapter-express/

版本：4\.3\.0
npm 元数据更新时间：2026-09-13T06:12:01.927Z
中文译文更新时间：2026-11-14T05:41:30.413Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40expressots/adapter-express
原文对照：https://npmcn.com/package/%40expressots/adapter-express/?lang=original
项目主页：https://expresso-ts.com/
源码仓库：https://github.com/expressots/expressots

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

- 包体积（解压后）：1.2 MB，268 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.19\.0
- 运行依赖：5 个
- peer 依赖：@expressots/studio-agent \>=4\.0\.0-0
- 首次发布：2023-09-13T10:12:17.688Z
- 最新版本发布：2026-09-13T06:12:01.759Z
- 近 30 天下载量：1020979（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 12 个）

## 中文简介

Expressots - 现代,快活,轻活的节点s网络框架 (@adapter-expression)

## 安装

```sh
npm install @expressots/adapter-express
```

也可以使用：`pnpm add @expressots/adapter-express`、`yarn add @expressots/adapter-express`、`bun add @expressots/adapter-express`

## README

[![ExpressoTS](https://raw.githubusercontent.com/expressots/expressots/main/packages/core/media/expressots.png)](https://expresso-ts.com/)

# @ expressots/ adapter- express

Express HTTP ExpressoTS的自适应器. 将框架核心连接到 Express.js 服务器引擎.

[![npm](https://img.shields.io/npm/v/@expressots%2Fadapter-express/next?style=flat-square&color=181717&logo=npm&logoColor=white)](https://www.npmjs.com/package/@expressots/adapter-express) [![License](https://img.shields.io/badge/License-MIT-blue?style=flat-square&color=181717)](https://github.com/expressots/adapter-express/blob/main/LICENSE.md) [![Discord](https://img.shields.io/badge/Discord-join-5865F2?style=flat-square&logo=discord&logoColor=white)](https://discord.com/invite/PyPJfGK) [![Build](https://img.shields.io/github/actions/workflow/status/expressots/adapter-express/build.yaml?branch=main&style=flat-square&logo=github&label=build)](https://github.com/expressots/adapter-express/actions)

[文档](https://doc.expresso-ts.com/) • 妇女 [开始](https://doc.expresso-ts.com/docs/core/first-steps) • 妇女 [项目委员会](https://github.com/orgs/expressots/projects/5) • 妇女 [社区](https://discord.com/invite/PyPJfGK)

* * *

## 安装

```bash
npm i @expressots/adapter-express
```

## 此套件会做什么

这个适配器桥接了ExpressoTS Core和Express.js. 它提供HTTP服务器执行、路由注册、中间软件管道和 `App` 将一切连接在一起 并列安装 `@expressots/core` 运行特快.

## 快来看

```typescript
import { AppExpress } from "@expressots/adapter-express";
import { AppContainer, CreateModule, bootstrap } from "@expressots/core";
import { AppController } from "./app.controller";

export class App extends AppExpress {
  private readonly container: AppContainer = this.configContainer([CreateModule([AppController])]);

  async configureServices(): Promise<void> {
    // register middleware, interceptors, error handlers
  }
}

void bootstrap(App); // starts on process.env.PORT or 3000
```

`bootstrap()` 构建容器,运行 `AppExpress` 生命周期钩子( c)`globalConfiguration`, (中文(简体) ), `configureServices`, (中文(简体) ), `postServerInitialization`),启动HTTP服务器,并在SIGINT / SIGTERM上电线优雅地关闭.

## 所需资源

-   Express 5 (适配器的目标为Express 5 API;车体剖析使用Express 5本土剖析器)
-   节点.js . 20.19.0
-   `@expressots/studio-agent` 是一个可选的对等依赖:安装它以启用ExpressotS Studio集成,或者省去它而不影响适配器.

## 预览模块

这个 `micro-api` 模块(gateway, service-mesh,无服务器,队列)是预览质量:它的API可能会改变. 用于实验,而不是生产关键路径.

### Cloudflare 绑定提供者

在Cloudflare Workers上,一个微程序可以通过打入的符号而不是读取来解决其绑定(KV, D1, R2, 队列) `env` 每个处理器中的名称:

```ts
import {
  cloudflareAdapter,
  cloudflareBindings,
  type CloudflareRequest,
  micro,
} from "@expressots/adapter-express";

interface Env {
  SETTINGS: KVNamespace;
  DB: D1Database;
}

const bindings = cloudflareBindings<Env>();
const Settings = bindings.kv("SETTINGS");
const Database = bindings.d1("DB");

const app = micro<CloudflareRequest<Env>>({ showBanner: false, studio: { enabled: false } });

app.get("/theme", async (req) => ({
  theme: await req.services.get(Settings).get("theme"),
}));

app.get("/items", (req) => req.services.get(Database).prepare("SELECT * FROM items").all());

export default cloudflareAdapter<Env>(app);
```

-   `bindings.kv`, (中文(简体) ), `bindings.d1`, (中文(简体) ), `bindings.r2` 财务报告和审定财务报表 `bindings.queue` 归还被冻结的代币,按种类和名称进行纪念. 托肯斯只携带一种名称,所以在模块范围创建它们对于工人来说是安全的.
-   `req.services.get(token)` 从当前请求中读取约束 `env` 每次; 请求之间没有缓存 . `req.services.has(token)` 报告是否有约束. `req.cloudflare.env` 仍可直接进入.
-   约束缺失 `env` 筹集 `CloudflareBindingNotFoundError` (单位:千美元)`code: "EXPRESSOTS_CLOUDFLARE_BINDING_NOT_FOUND"`),它像其他任何错误一样通过应用程序的错误处理器流出. 继承对象属性, 如 `toString` 从来没有被视为约束.
-   绑定类型在结构上与 Cloudflare 运行时接口相匹配(例如, KV 命名空间被识别为 `getWithMetadata`) (中文(简体) ). 有明确的 `Env`,每个工厂只接受其价值与同类相符的名称,一个匹配多个种类的值被拒为模糊. 没有 `Env` 类型中,任意字符串被接受,用于其绑定物被动态配置的应用程序.

供应商在Miniflare的KV、D1、R2和Quee执行中被核实,一个捆绑的门将其成本保持在1KiB gzip以下;两者在CI中运行 `test/cloudflare-bindings-worker`。 。 。 .

## 文档

指南、API参考、架构模式和实例访问 **[doc.expresso-ts.com (英语)](https://doc.expresso-ts.com/)**。 。 。 .

## 捐款

欢迎来到快递社区 见 [贡献指南](https://github.com/expressots/expressots/blob/main/CONTRIBUTING.md) 如何参与.

## 支持项目

-   [GitHub 赞助商](https://github.com/sponsors/expressots)
-   [组织起来](https://github.com/expressots) 关于 GitHub 的
-   [解析器](https://discord.com/invite/PyPJfGK)
-   [报告问题](https://github.com/expressots/adapter-express/issues)

## 许可证

麻省理工学院. 见 [自由主义](https://npmcn.com/package/%40expressots/adapter-express/LICENSE.md)。 。 。 .

## 常见问题

### @expressots/adapter-express 是什么？

Expressots - 现代,快活,轻活的节点s网络框架 \(@adapter-expression\)

### 如何安装 @expressots/adapter-express？

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

### @expressots/adapter-express 支持 TypeScript 吗？

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

### @expressots/adapter-express 支持 ESM 还是 CommonJS？

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

### @expressots/adapter-express 需要什么版本的 Node\.js？

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

### @expressots/adapter-express 可以商用吗？

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

### @expressots/adapter-express 的下载量有多少？

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

### @expressots/adapter-express 还在维护吗？

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

