简介
it-glob 是一个能够高效地处理大规模文件的 npm 包。it-glob 充分利用了迭代器(iterator)的概念,帮助你轻松地以流式方式处理文件。
安装
在终端中输入以下命令安装 it-glob:
npm install it-glob
使用方法
基础用法
引入 it-glob:
const globby = require("it-glob");
将需要处理的文件和文件夹的路径以数组的形式传入 globby 函数:
const results = globby(["src/**/*.js"]);
这将返回一个可迭代对象,可以使用 for await...of 关键字进行迭代:
for await (const file of results) { console.log(file.path); }
结果类似于:
src/index.js src/hello.js src/utils/util.js
高级用法
- 处理大量文件
it-glob 的主要优势在于它能够快速处理成千上万的文件,而不会造成内存压力。 这可以通过配置 prefetch 及其它选项来进一步优化,以便最佳地配合磁盘预读取和 OS 缓存。
const results = globby(["src/**/*"], { prefetch: 10, concurrency: 100, });
- prefetch 选项指定在并行处理文件时应加载的最大文件数。 这通常应设置为仅略高于默认值(2)。
- concurrency 选项指定并行处理的最大文件数。 请注意,操作系统和 CPU 可能会影响文件的处理速度,因此请根据实际情况进行测试。 通常情况下,该值与电脑 CPU 核心数相等。
- 跳过忽略的文件
你可能想要忽略一些文件或文件夹。 这可以使用 globby 选项的 ignore 选项轻松完成。
const results = globby(["src/**/*"], { ignore: ["**/node_modules/**", "**/dist/**"], });
这将跳过 node_modules 和 dist 文件夹中的文件。
示例代码
基础用法
-- -------------------- ---- ------- ----- ------ - ------------------- ----- -------- ---------- - ----- ------- - ------------------------ --- ----- ------ ---- -- -------- - ----------------------- - - -----------
高级用法
-- -------------------- ---- ------- ----- ------ - ------------------- ----- -------- ---------- - ----- ------- - -------------------- - --------- --- ------------ ---- ------- ---------------------- -------------- --- --- ----- ------ ---- -- -------- - ----------------------- - - -----------
结论
it-glob 是一个功能强大的 npm 包,用于高效地处理大规模文件。通过使用迭代器的概念,it-glob 可以以流式方式处理文件,从而减少对内存的影响。 有了 it-glob,你可以更轻松地处理文件,同时节省时间和努力。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedbaa2b5cbfe1ea0611902