# range-parser 中文文档

规范地址：https://npmcn.com/package/range-parser/

版本：1\.3\.0
npm 元数据更新时间：2026-06-25T20:55:41.994Z
中文译文更新时间：2026-11-04T23:50:41.666Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：9 kB，5 个文件
- TypeScript 类型：未声明
- Node.js 要求：\>= 0\.6
- 运行依赖：0 个
- 首次发布：2012-06-11T16:08:20.957Z
- 最新版本发布：2026-06-25T20:55:41.875Z
- 近 30 天下载量：567759116（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 1 个）

## 中文简介

范围报头字段字符串解析器

## 安装

```sh
npm install range-parser
```

也可以使用：`pnpm add range-parser`、`yarn add range-parser`、`bun add range-parser`

## README

# range-parser

[![NPM Version](https://badgen.net/npm/v/range-parser)](https://npmjs.org/package/range-parser) [![NPM Downloads](https://badgen.net/npm/dm/range-parser)](https://npmjs.org/package/range-parser) [![Node.js Version](https://badgen.net/npm/node/range-parser)](https://nodejs.org/en/download) [![Build Status](https://badgen.net/github/checks/jshttp/range-parser/master?label=ci)](https://github.com/jshttp/range-parser/actions/workflows/ci.yml) [![Test Coverage](https://badgen.net/coveralls/c/github/jshttp/range-parser/master)](https://coveralls.io/r/jshttp/range-parser?branch=master)

范围报头字段解析器。

## 安装

这是一个 [node . js](https://nodejs.org/en/) 模块可通过 [npm注册表](https://www.npmjs.com/)． 安装是使用 [`npm install` 命令](https://docs.npmjs.com/getting-started/installing-npm-packages-locally)：

```sh
$ npm install range-parser
```

## API

```js
var parseRange = require('range-parser')
```

### parseRange（大小，标题，选项）

解析给定的 `header` 字符串, `size` 尺寸是否被选中 将被划分为子范围的表示。子范畴的一组 将返回或表示解析错误的负数。

-   `-2` 表示格式错误的报头字符串
-   `-1` 表示不满意的范围

```js
// parse header from request
var subranges = parseRange(size, req.headers.range)

// the type of the subranges
if (subranges.type === 'bytes') {
  // the ranges
  subranges.forEach(function (r) {
    // do something with r.start and r.end
  })
}
```

#### 选项

这些属性在options对象中被接受。

##### 结合

指定是否合并重叠和相邻的子区域，默认为 `false`． 当 `true`，范围将被组合并返回，就像它们一样 在header中以这种方式指定。

```js
parseRange(100, 'bytes=50-55,0-10,5-10,56-60', { combine: true })
// => [
//      { start: 0,  end: 10 },
//      { start: 50, end: 60 }
//    ]
```

## 许可证

[麻省理工学院](https://npmcn.com/package/range-parser/LICENSE)

## 常见问题

### range-parser 是什么？

范围报头字段字符串解析器

### 如何安装 range-parser？

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

### range-parser 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/range-parser 是否存在。

### range-parser 需要什么版本的 Node\.js？

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

### range-parser 可以商用吗？

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

### range-parser 的下载量有多少？

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

### range-parser 还在维护吗？

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

