External module "matcher"
Type aliases
Pattern
Pattern
: string | RegExp | test | Matcher | (string | RegExp | test | Matcher)[]
Functions
isGlob
- isGlob(pattern: string): boolean
-
Parameters
Returns boolean
match
- match(path: string, pattern: Pattern, baseDir?: string, ignoreCase?: boolean): boolean
-
Parameters
-
path: string
-
-
Optional baseDir: string
-
Optional ignoreCase: boolean
Returns boolean
表示一个匹配模式,可以是通配符、正则表达式、自定义函数、匹配器或以上模式组成的数组
通配符
在通配符中可以使用以下特殊字符:
?: 匹配固定一个字符,但/和文件名开头的.除外*: 匹配任意个字符,但/和文件名开头的.除外**: 匹配任意个字符,但文件名开头的.除外[abc]: 匹配方括号中的任一个字符[a-z]: 匹配 a 到 z 的任一个字符[!abc]: 匹配方括号中的任一个字符以外的字符{abc,xyz}: 匹配大括号中的任一种模式\: 表示转义字符,如\[表示[按普通字符处理!xyz:如果通配符以!开头,表示排除匹配的项,注意如果排除了父文件夹,出于性能考虑,无法重新包含其中的子文件*和**的区别在于**可以匹配任意级文件夹,而*只能匹配一级, 但如果通配符中没有/(末尾的除外),则通配符只需匹配文件名部分foo.jsdir/foo.jsdir/sub/foo.js*、**和?不匹配以.开头的文件名,要允许匹配,应写成{.,}*如果通配符以
/结尾,表示匹配文件夹;如果匹配了文件夹,等价于匹配内部的所有子文件默认地,通配符只负责逐字匹配,所以
./、../等符号不会被特殊处理(除了开头的./)如果设置了
baseDir,则通配符只匹配绝对路径:../\作为分隔符[]、{}、\(仅 Windows)作普通字符匹配正则表达式
正则表达式的源是一个固定以
/为分隔符的相对路径自定义函数
函数接收原始路径为参数,如果函数返回
true表示匹配该路径,如:function match(path) { return path.endsWith(".js") }匹配器
可以从现成匹配器复制新的匹配器
数组
可以将以上模式自由组合成数组,只要匹配数组中任一个模式,就认定匹配当前模式