什么是 glob.js?
glob.js 是一个 Node.js 模块,它允许我们以 UNIX shell 风格的模式匹配文件和文件夹。
有关 UNIX shell 风格的模式匹配,可以是以下语句:
- 匹配任意长度的任何字符,除了斜杠 /。
- ? 匹配单个任何字符,除了斜杠 /。
- ** 匹配任意长度的任何字符,包括斜杠 /。
- {} 匹配括号中不同选项之一。
- [] 匹配中括号中的任何字符。
glob.js 是一个非常有用的工具,因为它让我们只需使用一行代码,就可以帮助我们快速搜索文件或文件夹,或者在命令行中使用它,也可以在 gulp、grunt 等自动化构建工具中使用。
安装
你可以使用以下命令在你的项目中安装 glob.js:
$ npm install --save glob
用法
以下是 glob.js 的基本语法:
glob(pattern, [options], callback)
- pattern: 用于匹配的模式字符串,可以是文件夹路径,文件夹名称,文件名等等。
- options: 一个可选的对象,包含有关如何匹配模式字符串的选项,例如指定搜索模式、glob 模式等等。
- callback: 指定如何处理匹配文件的函数
示例代码
搜索文件夹下所有 js 文件
var glob = require("glob"); glob("myFolder/*.js", function (er, files) { console.log(files); });
搜索文件夹下所有子文件夹中的 js 文件
var glob = require("glob"); glob("myFolder/**/*.js", function (er, files) { console.log(files); });
搜索在多个项目根目录下匹配所有 LESS 文件
var glob = require("glob"); var root = "myFolder"; // 项目根目录 glob(`${root}/**/*.less`, {}, function (er, files) { console.log(files); });
指定 options 参数搜索模式
-- -------------------- ---- ------- --- ---- - ---------------- --- ------- - - ---- ----------- ------- -------------------- ---------- ----- ------ ----- -- --------------- -------- -------- ---- ------ - ------------------- ---
选项参数
以下是一些常用的选项:
- cwd: 指定匹配方式的根目录,默认当前目录。
- dot: 是否匹配以点开头的文件或目录,默认不匹配。
- ignore: 忽略匹配到的文件或目录,它可以是一个字符串,也可以是一个数组,用于指定要忽略的文件或目录。
- nodir: 表示是否忽略目录,默认为 false,它会包括匹配到的目录。
- matchBase: 是否匹配模式串中的 base name(文件名),而不是整个路径。默认为 false。
- verbose: 显示匹配详情。
结论
使用 NPM 包 glob.js 能够提高我们开发过程中的效率,在快速搜索文件时也有着比较大的优势。因为其基本语法简单直观,所以可以轻易的上手使用。
在实际开发中我们就可以通过它方便地搜索各种所需资源及文件,同时在工具类项目中也可轻松的与 gulp、grunt 等自动化构建工具相结合。因此,学习并使用 glob.js 是非常有必要的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/63508