简介
globus 是一个 node.js 项目文件及文件夹路径匹配工具,它能遍历一个指定的根目录,然后通过提供的 glob 规则来返回一个由路径组成的文件列表。
它支持以下功能:
- 支持多目录匹配;
- 支持通配符路径匹配;
- 支持过滤器过滤;
- 支持同步和异步操作;
- 支持使用 .gitignore 文件设置需忽略的文件列表。
安装
在安装之前,请确保配置了 node.js 环境。
你可以在终端中使用以下命令来安装 globus:
npm install globus --save
使用
你可以在你的项目中使用 require 导入 globus 模块:
var globus = require('globus');
globus 支持以下方法:
globus.find(options)
find
方法接受一个对象作为参数,该对象可以包含以下属性:
- path:必选项,要查找的根目录路径;
- pattern:匹配模式,默认为
**/*
; - filters:过滤器,用于明确需要过滤的文件类型或目录;
- gitignore:是否启用 .gitignore 文件进行过滤,默认为
true
; - sync:是否同步返回结果,默认为
true
。
find
方法返回一个包含所有符合规则的文件路径的列表。
示例代码:
-- -------------------- ---- ------- -- ---- ------------- ----- ------------- -------- ----------- -- --------------- ------ - -- ------- - --------------------- -- ------- - ---- - -------------------- - --- -- ---- --- ----- - ------------- ----- ------------- -------- ------------ ----- ---- --- --------------------
globus.watch(options)
watch
方法接受一个对象作为参数,该对象可以包含以下属性:
- path:必选项,要监视的根目录路径;
- pattern:匹配模式,默认为
**/*
; - filters:过滤器,用于明确需要过滤的文件类型或目录;
- gitignore:是否启用 .gitignore 文件进行过滤,默认为
true
; - events:需要监听的事件数组,默认监听
add
,change
,unlink
。 - listener:事件处理函数。
watch
方法返回一个 chokidar 实例,你可以对其进行监听事件处理。
示例代码:
globus.watch({ path: pathToWatch, pattern: '/src/*.js', events: ['add', 'change'], listener: function(event, path) { console.info('%s文件 %s 已经被 %s。', path, event); } });
注意事项
- 部分 globus 方法只能在 node.js 运行环境中使用,因此在前端项目中使用需要先进行打包构建;
- 对于 watch 方法,如果你绑定在一个根路径下的更多子目录路径,它们将会共享同一个 watcher 实例,以此减少性能浪费;
- 除了 glob 通配符,globus 还支持
!
符号进行排除,在书写规则时怎么使用该符号请参考 globus 的 API 文档。
总结
globus 是一个强大的文件查找工具,它为开发人员提供了一种简单、灵活的方式来搜索他们项目中的文件。在使用 globus 的过程中,你需要掌握 glob 通配符、过滤器以及 .gitignore 文件的使用方法,通过这些基本技能,你可以轻松地查找或过滤出指定类型的文件。同时,由于 globus 还支持异步操作和监视文件变化,因此它非常适合在较大、复杂的项目中使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005575181e8991b448d449a