资讯专栏INFORMATION COLUMN

NPM酷库:glob,通配符匹配文件名

verano / 679人阅读

摘要:酷库,每天两分钟,了解一个流行库。经常,我们的程序需要对磁盘文件进行管理,就需要读取磁盘上的文件列表,然后可能会需要判断文件夹或文件名,还可能需要递归扫描子目录。今天我们要了解的库,就是专门用来扫描磁盘文件,并返回我们需要的文件类型。

NPM酷库,每天两分钟,了解一个流行NPM库。

经常,我们的程序需要对磁盘文件进行管理,就需要读取磁盘上的文件列表,然后可能会需要判断文件夹或文件名,还可能需要递归扫描子目录。

glob

今天我们要了解的库 glob,就是专门用来扫描磁盘文件,并返回我们需要的文件类型。

const glob = require("glob")

glob("**/*.js", function (error, files) {
  // files 就是我们得到的文件的列表
})

上述代码中,我们会递归查找当前目录下的所有.js 文件,因为我们使用了 **/*.js 通配符做查找条件。

glob 支持的通配符模式

glob 支持强大的匹配规则,但是要注意glob的匹配规则并不是正则表达式,详细支持如下:

* 匹配0到多个字符

? 匹配一个字符

[...] 匹配一个字符列表,类似正则表达式的字符列表

!(pattern|pattern|pattern) 反向匹配括号内的模式

?(pattern|pattern|pattern) 匹配0或1个括号内的模式

+(pattern|pattern|pattern) 匹配至少1个括号内的模式

*(pattern|pattern|pattern) 匹配0到多个括号内的模式

@(pattern|pat*|pat?erN) 精确匹配括号内的模式

** 匹配0到多个子目录,递归匹配子目录

其他特性

除下上文中的异步接口,glob还支持 glob.sync() 同步接口,另外,glob还支持大量的参数选项,比如cwd,root 等等,具体请参考官方文档。

参考文档

glob: https://github.com/isaacs/nod...

欢迎关注公众号:梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90728.html

相关文章

  • NPM酷库:minimatch,模式匹配字符串

    摘要:前两天,我们学习了中模式匹配文件列表的和的增强版,今天,我们将了解的基础库,用来模式匹配字符串的库。 前两天,我们学习了Node.js中模式匹配文件列表的 glob 和 glob 的增强版globby,今天,我们将了解 glob 的基础库: minimatch,用来模式匹配字符串的库。 其实,glob库支持的的各种模式都来自于minimatch。 minimatch 的用法 const...

    yedf 评论0 收藏0
  • NPM酷库globby,增强版的glob

    摘要:酷库,每天两分钟,了解一个流行库。昨天,我们学习了一个新库,用于模式匹配目录文件。今天,我们要了解的,是基于,并进一步得到了增强了功能。 NPM酷库,每天两分钟,了解一个流行NPM库。 昨天,我们学习了一个新库 glob,用于模式匹配目录文件。今天,我们要了解的globby,是基于 glob,并进一步得到了增强了功能。 globby 特性 相对于 glob,globby有以下增强功能 ...

    atinosun 评论0 收藏0
  • NPM酷库:chokidar监视文件变化

    摘要:酷库,每天两分钟,了解一个流行库。像等工具都提供模式,当磁盘文件变化后自动重新运行打包。今天我们要学习的就是一款专门用于文件监控的库。可以监控各种文件文件夹变化事件,包含等。 NPM酷库,每天两分钟,了解一个流行NPM库。 像 webpack / grunt /gulp 等工具都提供watch模式,当磁盘文件变化后自动重新运行打包。今天我们要学习的chokidar就是一款专门用于文件监...

    forsigner 评论0 收藏0
  • gulpJs使用总结

    摘要:通常情况下我们不需要用到。为任务名请不要在名字中使用空格是当前定义的任务需要依赖的其他任务,为一个数组。为要监视的文件匹配模式,规则和用法与方法中的相同。 1.gulp安装 1.首先确保你已经正确安装了nodejs环境。然后可以全局方式安装gulp: $ npm install -g gulp 我们可以检查一下gulp版本 $ gulp -v 这样就完成了对全局的安装2.如果想在安装的...

    ideaa 评论0 收藏0
  • gulpJs使用总结

    摘要:通常情况下我们不需要用到。为任务名请不要在名字中使用空格是当前定义的任务需要依赖的其他任务,为一个数组。为要监视的文件匹配模式,规则和用法与方法中的相同。 1.gulp安装 1.首先确保你已经正确安装了nodejs环境。然后可以全局方式安装gulp: $ npm install -g gulp 我们可以检查一下gulp版本 $ gulp -v 这样就完成了对全局的安装2.如果想在安装的...

    chadLi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<