当我们需要匹配文件名或路径时,通常使用 glob 模式。有一个叫做 has-glob 的 npm 包,它提供了一种快速检查某个字符串是否符合 glob 模式的方法。
安装
使用 npm 即可安装 has-glob 包:
npm install has-glob
使用方法
检查字符串是否符合 glob 模式
使用 hasGlob(str: string)
函数可以检查一个字符串是否符合 glob 模式。如果符合,则返回 true,否则返回 false。
const hasGlob = require('has-glob'); console.log(hasGlob('*.js')); // true console.log(hasGlob('**/*.{js,ts}')); // true console.log(hasGlob('/path/to/file.js')); // false
获取匹配字符串
使用 getGlobs(str: string)
函数可以获取一个字符串中所有匹配的 glob 字符串。如果没有匹配,则返回空数组。
const { getGlobs } = require('has-glob'); console.log(getGlobs('foo/*.js')); // ['foo/*.js'] console.log(getGlobs('foo/**/*.js')); // ['foo/**/*.js'] console.log(getGlobs('foo/bar.js')); // []
获取匹配结果
使用 matchGlobs(str: string, globs: string[])
函数可以获取一个字符串中所有匹配指定 glob 模式的子字符串。返回一个包含所有匹配结果的数组。
const { matchGlobs } = require('has-glob'); console.log(matchGlobs('foo/bar.js', ['*.js'])); // ['bar.js'] console.log(matchGlobs('foo/bar/baz.js', ['**/*.js'])); // ['foo/bar/baz.js', 'bar/baz.js', 'baz.js']
总结
has-glob 是一个非常方便的 npm 包,可以快速检查字符串是否符合 glob 模式,并获取匹配结果。它可以帮助我们在前端开发中更加高效地处理文件名和路径。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/49956