简介
globule
是一个基于 glob
模式匹配的工具库,它可以帮助我们在前端开发过程中快速、便捷地查找和处理文件。
安装
使用npm安装:
npm install globule --save-dev
用法
globule.find(patterns, options)
globule.find()
方法可以根据指定的模式来查找匹配的文件,返回一个匹配到的所有文件路径数组。
const globule = require('globule'); const files = globule.find(['src/**/*.js', 'test/**/*.js']); console.log(files); // ['src/main.js', 'src/utils/util.js', 'test/test.js']
上例中,传入了两个模式:'src/**/*.js' 和 'test/**/*.js',匹配到的文件有三个:'src/main.js'、'src/utils/util.js' 和 'test/test.js'。
globule.isMatch(pattern, filepath, options)
globule.isMatch()
方法用于判断某个文件是否符合指定的模式。如果符合,返回 true
,否则返回 false
。
const globule = require('globule'); const isMatch = globule.isMatch('src/**/*.js', 'src/main.js'); console.log(isMatch); // true const isNotMatch = globule.isMatch('src/**/*.js', 'src/index.html'); console.log(isNotMatch); // false
上例中,第一个调用的 isMatch()
方法传入了 'src/**/*.js' 模式和 'src/main.js' 文件路径,因为文件符合模式所定义的文件类型,返回了 true
。
globule.match(patterns, options)
globule.match()
方法用于查找某个目录下所有符合指定模式的文件,并返回符合条件的文件路径数组。
const globule = require('globule'); const files = globule.match(['src/**/*.js', '!src/**/vendor/*.js']); console.log(files); // ['src/main.js', 'src/utils/util.js']
上例中,我们传入了两个模式:'src/**/*.js' 和 '!src/**/vendor/*.js',其中第二个模式使用了 !
符号排除匹配到的文件中含有 '/vendor/' 目录的文件。最终结果为匹配到的两个文件:'src/main.js' 和 'src/utils/util.js'。
可选参数
{srcBase: string}
可选参数 {srcBase: string}
中的 srcBase
是一个字符串,它表示你想让匹配到的文件基于哪个目录。
const globule = require('globule'); const files = globule.find('**/*.js', {srcBase: 'src'}); console.log(files); // ['main.js', 'utils/util.js']
上例中,我们将匹配到的文件路径转换为基于 'src' 目录的相对路径形式。
结语
globule
包是一个非常实用的工具库,它可以帮助我们在前端开发中处理文件。使用 globule
可以轻松地查找、过滤和处理文件,提高代码的可读性和维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/42014