# @fastify/accepts 中文文档

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

版本：5\.0\.7
npm 元数据更新时间：2026-10-18T12:30:25.145Z
中文译文更新时间：2026-11-14T11:19:10.397Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：23.7 kB，13 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2022-04-27T13:27:06.818Z
- 最新版本发布：2026-10-09T13:23:13.805Z
- 近 30 天下载量：552250（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：16（近 12 个月 4 个）

## 中文简介

添加接受解析器以固定

## 安装

```sh
npm install @fastify/accepts
```

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

## README

# @ fastify/接受

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

添加一个接受解析器以快速化 .

## 安装

`npm i @fastify/accepts`

### 兼容性

| 插件版本 | 快速化版本 |
| --- | --- |
| `>=5.x` | `^5.x` |
| `^4.x` | `^4.x` |
| `>=2.x <4.x` | `^3.x` |
| `^1.x` | `^2.x` |
| `^1.x` | `^1.x` |

请注意,如果一个快取版本没有支持,那么该插件的相应版本也一样 上表列出. 见 [快速化 LTS 政策](https://github.com/fastify/fastify/blob/main/docs/Reference/LTS.md) 更多细节.

## 使用量

```js
const fastify = require('fastify')
const Boom = require('@hapi/boom')

fastify.register(require('@fastify/accepts'))

fastify.post('/', function (req, reply) {
  const accept = req.accepts() // Accepts object
  switch(accept.type(['json', 'html'])) {
    case 'json':
      reply.type('application/json').send({hello: 'world'})
      break
    case 'html':
      reply.type('text/html').send('<b>hello, world!</b>')
      break
    default:
      reply.send(Boom.notAcceptable('unacceptable'))
      break
  }
})
```

见 [接受软件包](https://www.npmjs.com/package/accepts) 用于所有可用的API.

此插件添加到 `Request` 全部对象 `Accepts` 对象方法.

```js
fastify.post('/', function (req, reply) {
  req.charset(['utf-8'])
  req.charsets()
  req.encoding(['gzip', 'compress'])
  req.encodings()
  req.language(['es', 'en'])
  req.languages()
  req.type(['image/png', 'image/tiff'])
  req.types()
})
```

### 选项

-   `decorateReply` 若为 `true`,则 `Reply` 对象将随 `requestAccepts`, (中文(简体) ), `requestTypes`, (中文(简体) ), `requestCharsets`, (中文(简体) ), `requestEncodings`,以及 `requestLanguages` 方法,从 `Request` 对象。 默认 : `false`。 。 。 .

## 许可证

许可证根据 [麻省理工学院](https://npmcn.com/package/%40fastify/accepts/LICENSE)。 。 。 .

## 常见问题

### @fastify/accepts 是什么？

添加接受解析器以固定

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

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

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

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

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

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

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

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

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

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

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

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

