# destroy 中文文档

规范地址：https://npmcn.com/package/destroy/

版本：1\.2\.0
npm 元数据更新时间：2026-02-03T04:12:44.801Z
中文译文更新时间：2026-11-05T15:47:36.089Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：9 kB，4 个文件
- TypeScript 类型：未声明
- Node.js 要求：\>= 0\.8
- 运行依赖：0 个
- 首次发布：2013-10-03T17:12:42.209Z
- 最新版本发布：2022-03-20T19:03:12.452Z
- 近 30 天下载量：290028124（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

如果可能, 则销毁流

## 安装

```sh
npm install destroy
```

也可以使用：`pnpm add destroy`、`yarn add destroy`、`bun add destroy`

## README

# 销毁

[![NPM version](https://img.shields.io/npm/v/destroy.svg?style=flat-square)](https://npmjs.org/package/destroy) [![Build Status](https://img.shields.io/github/workflow/status/stream-utils/destroy/ci/master?label=ci&style=flat-square)](https://github.com/stream-utils/destroy/actions/workflows/ci.yml) [![Test coverage](https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square)](https://coveralls.io/r/stream-utils/destroy?branch=master) [![License](http://img.shields.io/npm/l/destroy.svg?style=flat-square)](https://npmcn.com/package/destroy/LICENSE.md) [![Downloads](http://img.shields.io/npm/dm/destroy.svg?style=flat-square)](https://npmjs.org/package/destroy)

毁一溪.

此模块意在确保一个流被破坏, 处理不同的 API 和节点.jsbugs.

## API 密码

```js
var destroy = require('destroy')
```

### 销毁(流 \[, 压制\])

摧毁给定的溪流, 并任意压制任何未来 `error` 事件.

在大多数情况下,这和简单的一样 `stream.destroy()` 电话 规则 特定溪流如下:

1.  如果 `stream` 是一个实例 `ReadStream`,然后调用 `stream.destroy()` 并增加一个倾听者 `open` 要调用的事件 `stream.close()` 如果是的话 被开除了 这是针对一个会泄露文件描述符的 Node.js 错误, 如果 `.destroy()` 被调用之前 `open`。 。 。 .
2.  如果 `stream` 是一个 zlib 流的例子,然后调用 `stream.destroy()` 关闭下方的 zlib 手柄,否则调用 `stream.close()`。 。 。 . 这是用于各节点/js版本的一致性和一个将实现的节点/jsbug 泄露一个本地的 zlib 手柄.
3.  如果 `stream` 不是一个实例 `Stream`,然后什么也没有发生.
4.  如果 `stream` 有一个 `.destroy()` 方法,然后称它.

函数返回 `stream` 以辩论身份通过.

## 示例

```js
var destroy = require('destroy')

var fs = require('fs')
var stream = fs.createReadStream('package.json')

// ... and later
destroy(stream)
```

## 常见问题

### destroy 是什么？

如果可能, 则销毁流

### 如何安装 destroy？

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

### destroy 支持 TypeScript 吗？

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

### destroy 需要什么版本的 Node\.js？

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

### destroy 可以商用吗？

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

### destroy 的下载量有多少？

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

### destroy 还在维护吗？

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

