# jest-docblock 中文文档

规范地址：https://npmcn.com/package/jest-docblock/

版本：30\.5\.0
npm 元数据更新时间：2026-08-28T08:28:13.981Z
中文译文更新时间：2026-11-05T16:29:41.143Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：9.9 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：^18\.14\.0 \|\| ^20\.0\.0 \|\| ^22\.0\.0 \|\| \>=24\.0\.0
- 运行依赖：1 个
- 首次发布：2017-03-03T15:10:47.875Z
- 最新版本发布：2026-08-28T08:28:13.800Z
- 近 30 天下载量：219518255（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：126（近 12 个月 2 个）

## 中文简介

`jest-docblock` 是一个可以提取和解析文件顶端被称作"docblock"的特殊格式注释的软件包.

## 安装

```sh
npm install jest-docblock
```

也可以使用：`pnpm add jest-docblock`、`yarn add jest-docblock`、`bun add jest-docblock`

## README

# 笑料块

`jest-docblock` 是一个可以提取和解析文件顶端被称作"docblock"的特殊格式注释的软件包.

像这样的医生区:

```js
/**
 * Stuff goes here!
 */
```

Docblocks可以包含pradmas,它们是由 `@`数字 :

```js
/**
 * Pragma incoming!
 *
 * @flow
 */
```

Pragmas 也可以提出论据:

```js
/**
 * Check this out:
 *
 * @myPragma it is so cool
 */
```

`jest-docblock` 能够:

-   从一些代码取出 docblock 作为字符串
-   将多克块字符串的平板块分析成对象
-   将对象和一些注释打印回字符串

## 安装

```sh
# with yarn
$ yarn add jest-docblock
# with npm
$ npm install jest-docblock
```

## 使用量

```js
const code = `
/**
 * Everything is awesome!
 *
 * @everything is:awesome
 * @flow
 */

 export const everything = Object.create(null);
 export default function isAwesome(something) {
   return something === everything;
 }
`;

const {
  extract,
  strip,
  parse,
  parseWithComments,
  print,
} = require('jest-docblock');

const docblock = extract(code);
console.log(docblock); // "/**\n * Everything is awesome!\n * \n * @everything is:awesome\n * @flow\n */"

const stripped = strip(code);
console.log(stripped); // "export const everything = Object.create(null);\n export default function isAwesome(something) {\n return something === everything;\n }"

const pragmas = parse(docblock);
console.log(pragmas); // { everything: "is:awesome", flow: "" }

const parsed = parseWithComments(docblock);
console.log(parsed); // { comments: "Everything is awesome!", pragmas: { everything: "is:awesome", flow: "" } }

console.log(print({pragmas, comments: 'hi!'})); // /**\n * hi!\n *\n * @everything is:awesome\n * @flow\n */;
```

## API 文档

### `extract(contents: string): string`

从文件内容中提取一个 docblock 。 返回包含在 `contents`如果 `contents` 没有包含 docblock, 它会返回空字符串(`""`) (中文(简体) ).

### `strip(contents: string): string`

从文件中去掉顶端的 docblock 并返回结果。 如果一个文件在顶端没有 docblock,那么返回文件时不变.

### `parse(docblock: string): {[key: string]: string | string[] }`

将多克块字符串中的 pragma 解为对象,其键为 pragma 标记,其值为这些 pragma 的参数.

### `parseWithComments(docblock: string): { comments: string, pragmas: {[key: string]: string | string[]} }`

类似 `parse` 除此方法还返回 Docblock 的注释外。 使用时有用 `print()`。 。 。 .

### `print({ comments?: string, pragmas?: {[key: string]: string | string[]} }): string`

将密钥值对对象打印回多克区块。 若为 `comments` 他们将被安排在医生的顶部.

## 常见问题

### jest-docblock 是什么？

jest-docblock 是一个可以提取和解析文件顶端被称作"docblock"的特殊格式注释的软件包\.

### 如何安装 jest-docblock？

在项目目录运行 npm install jest-docblock，或使用 pnpm add / yarn add / bun add。

### jest-docblock 支持 TypeScript 吗？

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

### jest-docblock 支持 ESM 还是 CommonJS？

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

### jest-docblock 需要什么版本的 Node\.js？

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

### jest-docblock 可以商用吗？

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

### jest-docblock 的下载量有多少？

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

### jest-docblock 还在维护吗？

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

