npm包@bluelovers/fast-glob使用教程

阅读时长 7 分钟读完

fast-glob 是一个快速、简单的 Node.js 模块,方便地实现类似于 Unix shell 的 glob 表达式。

@bluelovers/fast-glob 是一种使用了 TypeScript 的完全重写版本,增强了 glob 的许多特性和性能。

安装

使用 npm 安装:

快速用法

在 Node.js 中使用 fast-glob 可以非常快速地匹配文件和目录。例如:

功能

对比 fast-glob 基本功能,@bluelovers/fast-glob 增强了如下特性:

  • Filter通过返回 false 来删除不需要的项。
  • Option ‘objectMode’ 将返回 fs.Stats 对象,而不是文件路径。
  • Option ‘onlyFiles’ 只输出文件,而不是目录路径。
  • 通过提供一个函数来比较两个字符串,以输出正确排序的输出顺序。
  • Option ‘followSymbolicLinks’ 允许捆绑软链接,并指示是否遍历软链接。
  • 增加了数百个测试用例,以避免非预期函数行为及性能退化。
  • 与单元测试和性能测试相关的生成算法,以确保最佳性能和正确行为。

使用示例

基本用法

使用 globby 语法

比如需要将文件名 .min.css.min.js 提取出来。可以这样:

-- -------------------- ---- -------
----- -- - ---------------------------------

------ -- -- -
  ----- ----- - ----- ----
    ----------------
    --------------------------
  ---
  -------------------
----

使用和 globs-mode 类似的语法

-- -------------------- ---- -------
----- -- - ---------------------------------

------ -- -- -
  ----- ----- - ----- ----
    ----- ------------ ------------ --------------------- ---------------------
    ---- -------------- -------------- ----------------------- ----------------------
  ---
  -------------------
----

过滤

-- -------------------- ---- -------
----- -- - ---------------------------------

------ -- -- -
  ----- ----- - ----- ----
    ---------
    -----------
  -- -
    ------- ---------- -- -
      -- -------------------------- -
        ------ ------
      - ---- -
        ------ -----
      -
    -
  ---
  -------------------
----

使用‘二进制模式’

-- -------------------- ---- -------
----- -- - ---------------------------------

----- -------- ---------------------------- -
  ----- ----- - ----- ----------------------------
  ----- ---- - ----- -------------------------------
  ------ -
    ----------- ------------------------
    ----- -----------
    ----- -----------
    ------ -------------
  --
-

------ -- -- -
  ----- ----- - ----- ----
    -------
    -----------
  -- -
    ----------- -----
    --------- -----
    ----- -----
    ---------- ----- ---- -------- -- -
      ----- ----- - ----- -----------------------
      ------ -
        -----------
        --------
      --
    -
  ---
  -------------------
----

只输出文件

-- -------------------- ---- -------
----- -- - ---------------------------------

------ -- -- -
  ----- ----- - ----- ----
    ---------
    -----------
  -- -
    ---------- ----
  ---
  -------------------
----

同步调用

-- -------------------- ---- -------
----- -- - ---------------------------------

----- ----- - ---------
  ---------
  -----------
-- -
  ---------- ----
---
-------------------

比较输出文件的字符串

-- -------------------- ---- -------
----- -- - ---------------------------------

------ -- -- -
  ----- ----- - ----- ----
    ---------
    -----------
  -- -
    ------------------- -----
    --------- ---- -
      -- ---- - ---- -
        ------ ---
      - ---- -- ---- - ---- -
        ------ --
      - ---- -
        ------ --
      -
    -
  ---
  -------------------
----

解决软链

-- -------------------- ---- -------
----- -- - ---------------------------------

------ -- -- -
  ----- ----- - ----- ----
    --------------
    ---------------
  -- -
    -------------------- ----
  ---
  -------------------
----

结论

@bluelovers/fast-glob 是一个非常实用的 Node.js 模块,可以用于快速、方便地匹配文件和目录,同时也提供了一些比 fast-glob 更全面、更强大的功能。如果你正在寻找一个最佳的 glob 功能模块,那么 @bluelovers/fast-glob 绝对是一个非常好的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067350890c4f72775838f8

纠错
反馈