百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

globby

> 编程语言
开源

用户友好的glob匹配

2.6K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

用户友好的glob匹配

globby

用户友好的 glob 匹配

基于 fast-glob,但增加了许多实用功能。

特性

  • Promise API
  • 支持多个模式
  • 否定模式:['foo*', '!foobar']
  • 仅否定模式:['!foobar'] → 匹配除 foobar 之外的所有文件
  • 展开目录:foo → foo/**/*
  • 支持 .gitignore 及类似的忽略配置文件
  • 支持将 URL 作为 cwd

安装

bash
npm install globby

用法

├── unicorn
├── cake
└── rainbow
javascript
import {globby} from 'globby';

const paths = await globby(['*', '!cake']);

console.log(paths);
//=> ['unicorn', 'rainbow']

API

请注意,glob 模式只能包含正斜杠,不能包含反斜杠,因此如果你想从路径组件构建 glob 模式,需要使用 path.posix.join() 而不是 path.join()。

Windows: 包含反斜杠的模式会静默失败。请使用 path.posix.join() 或 convertPathToPattern()。

globby(patterns, options?)

返回一个匹配路径的 Promise<string[]>。

patterns

类型:string | string[]

查看支持的 minimatch 模式。

options

类型:object

除了以下选项外,另请参阅 fast-glob 选项。

expandDirectories

类型:boolean | string[] | object
默认值:true

如果设置为 true,globby 将自动为你匹配目录。如果你定义了一个 Array,它将只匹配该 Array 中模式对应的文件。你也可以像下面这样定义一个包含 files 和 extensions 的 object:

javascript
import {globby} from 'globby';

const paths = await globby('images', {
	expandDirectories: {
		files: ['cat', 'unicorn', '*.jpg'],
		extensions: ['png']
	}
});

console.log(paths);
//=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg']

请注意,如果你将此选项设置为 false,除非你设置了 onlyFiles: false,否则你将无法获取匹配到的目录。

gitignore

类型:boolean
默认值:false

尊重 .gitignore 文件中适用于被匹配文件的忽略模式。

启用后,g

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptdirectoriesfilesglobglobbing

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言