merge2

中文文档
1.4.1发布于 2020/06/03MITCommonJS零依赖近 30 天下载 4.9亿

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

中文使用文档
文档目录12 节
  1. 安装
  2. 使用量
  3. API 密码
  4. 合并2 ()
  5. 合并( 选项)
  6. 合并( sream1, stream2,..., streamN) :
  7. 合并2( stream1, stream2,..., streamN, 选项)
  8. 合并2( stream 1, [ stream 2, stream3,.], streamN, 选项)
  9. 合并 Stream.add( 流)
  10. 合并了 Stream.add( stream 1, [ stream2, stream3,...],...)
  11. 已合并 Stream.on ('queueDrain', 函数 () QQ)
  12. 许可证

合并2

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

NPM version Build Status Downloads

安装

安装方式 无

npm install merge2

使用量

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/'))
})
const stream = merge2([stream1, stream2], stream3, {end: false})
//...
stream.add(stream4, stream5)
//..
stream.end()
// equal to merge2([stream1, stream2], stream3)
const stream = merge2()
stream.add([stream1, stream2])
stream.add(stream3)
// 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)
// 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 密码

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。 。 。 .

许可证

麻省理工学院 团队

版本与发布记录

merge2 共发布 23 个版本,首次发布于 2014/10/19;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.4.1latest2020/06/036 年前
1.4.02020/06/036 年前
1.3.02019/09/137 年前
1.2.42019/07/317 年前
1.2.32018/10/138 年前
1.2.22018/05/048 年前

关于 merge2 的常见问题

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 和提交记录判断。