# merge2 中文文档

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

版本：1\.4\.1
npm 元数据更新时间：2022-06-19T17:53:53.486Z
中文译文更新时间：2026-11-05T14:37:32.579Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/merge2
原文对照：https://npmcn.com/package/merge2/?lang=original
项目主页：https://github.com/teambition/merge2
源码仓库：https://github.com/teambition/merge2

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

- 包体积（解压后）：8.9 kB，4 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>= 8
- 运行依赖：0 个
- 首次发布：2014-10-19T07:52:56.896Z
- 最新版本发布：2020-06-03T07:39:10.563Z
- 近 30 天下载量：494788157（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 0 个）

## 中文简介

将多条流按顺序或平行合并为一流.

## 安装

```sh
npm install merge2
```

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

## README

# 合并2

将多条流按顺序或平行合并为一流.

[![NPM version](http://img.shields.io/npm/v/merge2.svg)](https://npmjs.org/package/merge2) [![Build Status](http://img.shields.io/travis/teambition/merge2.svg)](https://travis-ci.org/teambition/merge2) [![Downloads](http://img.shields.io/npm/dm/merge2.svg?style=flat-square)](https://npmjs.org/package/merge2)

## 安装

安装方式 [无](https://npmjs.org/package/merge2)

```sh
npm install merge2
```

## 使用量

```js
const gulp = require('gulp')
const merge2 = require('merge2')
const concat = require('gulp-concat')
const minifyHtml = require('gulp-minify-html')
const ngtemplate = require('gulp-ngtemplate')

gulp.task('app-js', function () {
  return merge2(
      gulp.src('static/src/tpl/*.html')
        .pipe(minifyHtml({empty: true}))
        .pipe(ngtemplate({
          module: 'genTemplates',
          standalone: true
        })
      ), gulp.src([
        'static/src/js/app.js',
        'static/src/js/locale_zh-cn.js',
        'static/src/js/router.js',
        'static/src/js/tools.js',
        'static/src/js/services.js',
        'static/src/js/filters.js',
        'static/src/js/directives.js',
        'static/src/js/controllers.js'
      ])
    )
    .pipe(concat('app.js'))
    .pipe(gulp.dest('static/dist/js/'))
})
```

```js
const stream = merge2([stream1, stream2], stream3, {end: false})
//...
stream.add(stream4, stream5)
//..
stream.end()
```

```js
// equal to merge2([stream1, stream2], stream3)
const stream = merge2()
stream.add([stream1, stream2])
stream.add(stream3)
```

```js
// merge order:
//   1. merge `stream1`;
//   2. merge `stream2` and `stream3` in parallel after `stream1` merged;
//   3. merge 'stream4' after `stream2` and `stream3` merged;
const stream = merge2(stream1, [stream2, stream3], stream4)

// merge order:
//   1. merge `stream5` and `stream6` in parallel after `stream4` merged;
//   2. merge 'stream7' after `stream5` and `stream6` merged;
stream.add([stream5, stream6], stream7)
```

```js
// nest merge
// equal to merge2(stream1, stream2, stream6, stream3, [stream4, stream5]);
const streamA = merge2(stream1, stream2)
const streamB = merge2(stream3, [stream4, stream5])
const stream = merge2(streamA, streamB)
streamA.add(stream6)
```

## API 密码

```js
const merge2 = require('merge2')
```

### 合并2 ()

### 合并( 选项)

### 合并( sream1, stream2,..., streamN) :

### 合并2( stream1, stream2,..., streamN, 选项)

### 合并2( stream 1, \[ stream 2, stream3,.\], streamN, 选项)

返回双相流( 已合并的 Stream)。 阵列中的流将平行合并.

### 合并 Stream.add( 流)

### 合并了 Stream.add( stream 1, \[ stream2, stream3,...\],...)

返回合并的 Stream .

### 已合并 Stream.on ('queueDrain', 函数 () QQ)

当所有溪流合并时,它会发出"排出"(queueDrain). 如果你准备好了 `end === false` 在选项中,此事件会给您一个通知,该通知应该添加更多的流来合并或结束合并的Stream.

#### 流线

_选项_ 类型 : `Readable` 或者说 `Duplex` 或者说 `Transform` 流线.

#### 选项

_选项_ 类型 : `Object`。 。 。 .

-   **结束** - 说吧 `Boolean` - 狦 `end === false` 然后合并Stream不会自动结束 你应该自己结束. **默认 :** `undefined`
    
-   **管道错误** - 说吧 `Boolean` - 狦 `pipeError === true` 然后合并 Stream 会发射 `error` 来自源流的事件. **默认 :** `undefined`
    
-   **对象模式** - 说吧 `Boolean` 。 。 。 . **默认 :** `true`
    

`objectMode` 和其他选项(`highWaterMark`, (中文(简体) ), `defaultEncoding` ...)与节点.js相同 `Stream`。 。 。 .

## 许可证

麻省理工学院 [团队](https://www.teambition.com/)

## 常见问题

### merge2 是什么？

将多条流按顺序或平行合并为一流\.

### 如何安装 merge2？

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

### merge2 支持 TypeScript 吗？

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

### merge2 支持 ESM 还是 CommonJS？

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

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

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

### merge2 可以商用吗？

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

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

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

### merge2 还在维护吗？

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

