# @fastify/routes 中文文档

规范地址：https://npmcn.com/package/%40fastify/routes/

版本：6\.0\.4
npm 元数据更新时间：2026-10-18T12:30:59.059Z
中文译文更新时间：2026-11-14T11:22:56.198Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：16.1 kB，14 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2022-04-27T14:11:17.377Z
- 最新版本发布：2026-10-09T08:20:38.494Z
- 近 30 天下载量：180078（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 2 个）

## 中文简介

提供路径图的快捷化插件

## 安装

```sh
npm install @fastify/routes
```

也可以使用：`pnpm add @fastify/routes`、`yarn add @fastify/routes`、`bun add @fastify/routes`

## README

# @ fastify/ 路径

[![CI](https://github.com/fastify/fastify-routes/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/fastify/fastify-routes/actions/workflows/ci.yml) [![NPM version](https://img.shields.io/npm/v/@fastify/routes.svg?style=flat)](https://www.npmjs.com/package/@fastify/routes) [![neostandard javascript style](https://img.shields.io/badge/code_style-neostandard-brightgreen?style=flat)](https://github.com/neostandard/neostandard)

此插件将快捷实例装饰为 `routes`,这是 [地图](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) 登记路线。 请注意, 您必须等待此插件的注册后才能注册任何路径, 这样 @ fastify/ routes 就可以收集它们 .

## 数据结构

这个 `fastify.routes` 地图对每一个路径都有一个密钥 任何已经注册的路径都指在该路径上注册的一系列路径. 如果增加了多个路线,但方法不同或限制不同,则给定的路径可能不止一条.

```js
  {
    '/hello': [
      {
        method: 'GET',
        url: '/hello',
        schema: { ... },
        handler: Function,
        prefix: String,
        logLevel: String,
        bodyLimit: Number,
        constraints: undefined,
      },
      {
        method: 'POST',
        url: '/hello',
        schema: { ... },
        handler: Function,
        prefix: String,
        logLevel: String,
        bodyLimit: Number,
        constraints: { ... },
      }
    ]
  }
```

## 示例

```js
const fastify = require("fastify")();

(async () => {
  await fastify.register(require("@fastify/routes"));
  fastify.get("/hello", {}, (request, reply) => {
    reply.send({ hello: "world" });
  });

  fastify.listen({ port: 3000 }, (err, address) => {
    if (err) {
      console.error(err);
      return;
    }
    console.log(fastify.routes);
    /* will output a Map with entries:
    {
      '/hello': [
        {
          method: 'GET',
          url: '/hello',
          schema: Object,
          handler: <Function>,
          prefix: <String>,
          logLevel: <String>,
          bodyLimit: <Number>
        }
      ]
    }
    */
  });
})();
```

## 许可证

MIT 许可证

## 常见问题

### @fastify/routes 是什么？

提供路径图的快捷化插件

### 如何安装 @fastify/routes？

在项目目录运行 npm install @fastify/routes，或使用 pnpm add / yarn add / bun add。

### @fastify/routes 支持 TypeScript 吗？

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

### @fastify/routes 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @fastify/routes 可以商用吗？

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

### @fastify/routes 的下载量有多少？

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

### @fastify/routes 还在维护吗？

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

