split2

中文文档
4.2.0发布于 2023/03/26ISCCommonJS零依赖近 30 天下载 4.7亿

将文本流拆分为行流, 使用流 3

中文使用文档

Split2( matcher, 映射器, 选项)

ci

断出一行并重新组装,使每行为一块. split2 灵感来自 @ dominicarr (英语) split 模块, 它完全与它兼容. 然而,它基于Node.js核心 Transform。 。 。 .

matcher 可能是一个 String,或一个 RegExp。示例,读取文件中的每一行...

  fs.createReadStream(file)
    .pipe(split2())
    .on('data', function (line) {
      //each chunk now is a separate line!
    })

split 使用与 string.split 除非它默认为"/\r?\n/",以及可选 limit 参数被忽略 . 字符串# 分割

split 在第三个参数上取一个可选选项对象,该参数 直接作为 变形 选项.

此外 .maxLength 财务报告和审定财务报表 .skipOverflow 执行选项,对内部限制 缓冲大小和流量超过极限时的行为. 没有限制,除非 maxLength 已经设定。 何时 内部缓冲大小超过 maxLength,该流默认释放出一个错误。 您也可以设置 skipOverflow 改为 真以压制错误并跳过任何导致内部缓冲超过的行 maxLength。 。 。 .

通话 .destroy 会让溪流流出 close。用它来执行清理逻辑

var splitFile = function(filename) {
  var file = fs.createReadStream(filename)

  return file
    .pipe(split2())
    .on('close', function() {
      // destroy the file stream in case the split stream was destroyed
      file.destroy()
    })
}

var stream = splitFile('my-file.txt')

stream.destroy() // will destroy the input file stream

NDJ - 新线有限Json

split2 接受转换每行的函数.

fs.createReadStream(file)
  .pipe(split2(JSON.parse))
  .on('data', function (obj) {
    //each chunk now is a js object
  })
  .on("error", function(error) {
    //handling parsing errors
  })

然而,在 @ dominicarr (英语) split 映射器 被包裹在试捕捉物中,而这里不是:如果你的解析逻辑可以抛出,请自己包裹. 否则,您也可以在映射器函数抛出时使用流错误处理.

许可证

版权 (c) 2014-2021, Matteo Collina 你好@matteocollina.com

允许为任何 特此准许收取或不收取费用的目的,但须符合下列条件: 版权通知和本许可通知印出于所有副本.

软件是提供的"AS是" 和权威 发布所有警报 关于这种软件,包括所有被渗透的 道德与鉴相. 绝对不可能 授权为 任何特别的、直接的、间接的、或因果的 使用、数据或方案的损失所产生的任何结果 产生于武装冲突的 与这种软件的使用或性能有关.

版本与发布记录

split2 共发布 22 个版本,首次发布于 2014/03/12;过去 12 个月发布了 0 个版本。

版本发布日期距今
4.2.0latest2023/03/263 年前
4.1.02021/10/245 年前
4.0.02021/10/155 年前
3.2.22020/08/226 年前
3.2.12020/08/176 年前
3.2.02020/08/176 年前

关于 split2 的常见问题

split2 是什么?

将文本流拆分为行流, 使用流 3

如何安装 split2?

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

split2 支持 TypeScript 吗?

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

split2 支持 ESM 还是 CommonJS?

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

split2 需要什么版本的 Node.js?

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

split2 可以商用吗?

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

split2 的下载量有多少?

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

split2 还在维护吗?

最新版本 4.2.0 发布于 2023/03/26(3 年前);至今共发布 22 个版本,其中过去 12 个月发布了 0 个;首次发布于 2014/03/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。