Skip to content

micromatch

约 183 字小于 1 分钟

2024-05-10

NodeJS 8+

概述

针对 JavaScript/Node.js 的 glob 匹配工具。作为 minimatch 和 multimatch 的更快速替代方案。

场景

  • 检查当前文件的路径是否符合特定模式
  • 当需要从一个文件列表中 过滤/排除 出符合特定模式的文件集合

安装

npm
npm install micromatch

使用

import micromatch from 'micromatch'

// 返回匹配的列表
console.log(micromatch(['foo', 'bar', 'baz', 'qux'], ['f*', 'b*'])) // => ['foo', 'bar', 'baz']
console.log(micromatch(['foo', 'bar', 'baz', 'qux'], ['*', '!b*'])) // => ['foo', 'qux']

// 检查是否匹配
console.log(micromatch.isMatch('foo', 'f*')) // => true
console.log(micromatch.isMatch('foo', ['b*', 'f*'])) // => true

// 根据模式返回一个匹配函数
const isMatch = mm.matcher('*.!(*a)')
console.log(isMatch('a.a')) // => false
console.log(isMatch('a.b')) // => true