当前位置: 首页 > news >正文

minimatch 详解:功能、语法与应用场景

一、minimatch 是什么?

minimatch 是一种用于字符串模式匹配的工具库,核心功能是通过简化的正则表达式语法来匹配文件路径或字符串。它广泛应用于前端构建工具(如 Webpack、Gulp)、包管理器(如 npm)以及文件系统操作中,用于高效筛选文件。

  • 工作原理是将 glob 表达式转换为 JavaScriptRegExp 对象。

二、核心语法:通配符与匹配规则

  1. 基础通配符
*:匹配任意数量(包括零个)的任意字符(不包括路径分隔符 /)例:*.js 匹配 index.js、utils.js,但不匹配 src/app.js
?:匹配单个任意字符例:file?.txt 匹配 file1.txt、fileA.txt,不匹配 file.txt
[]:匹配括号内的任意单个字符例:[abc].js 匹配 a.js、b.js,[0-9].txt 匹配数字结尾的文件
!:在括号内表示取反匹配例:[!abc].js 匹配非 a、b、c 开头的 .js 文件
  1. 路径匹配
/:明确路径分隔符,支持递归匹配例:src/**/*.js 匹配 src 目录下所有层级的 .js 文件
**:匹配任意层级的目录(包括空目录)例:**/config.json 匹配根目录或任意子目录下的 config.json
  1. 特殊符号
{}:匹配多个模式中的任意一个(类似正则表达式的 |)
例:{js,css} 匹配 js 或 css,img/{png,jpg} 匹配 img/png 或 img/jpg
!:前缀表示排除匹配(需搭配数组使用)
例:['src/*.js', '!src/test.js'] 匹配 src 下除 test.js 外的所有 .js 文件
+(pattern):扩展 glob 语法,表示匹配一个或多个指定模式

三、典型应用场景

  1. 文件路径匹配
  • React项目.eslintrc.js 文件配置示例
module.exports = {plugins: ['import'],rules: {'import/order': ['error',{// 定义特定模式的分组和位置pathGroups: [{// 匹配 react 相关的 import, 提取到external分组最前pattern: 'react',group: 'external',position: 'before',},{// 把@features下的文件归为internal,注意这里必须是两个**,才可以表示多级目录pattern: '@features/**',group: 'internal',},{// 匹配样式文件的 importpattern: '*.{css,scss,less}',group: 'unknown',patternOptions: { matchBase: true },position: 'after',},],],},
};

四、与正则表达式的区别

  • minimatch(通配符):路径匹配 原生支持 / 分隔符和层级
  • 正则表达式: 路径匹配 需手动处理路径分隔符

相关文章:

  • quickbi-突出显示指定行
  • STL——栈和队列和优先队列
  • 【计组】真题 2015 大题
  • SELinux是什么以及如何编写SELinux策略
  • 【YOLO 系列】基于YOLO的飞机表面缺陷智能检测系统【python源码+Pyqt5界面+数据集+训练代码】
  • USB-C/HDMI 2.0 2:1 SW,支持4K60HZ
  • Vue3实现拖拽改变元素大小
  • 2025年ESWA SCI1区TOP,元组引导差分进化算法TLDE+黑箱优化,深度解析+性能实测
  • 蒙特卡罗模拟: 高级应用的思路和实例
  • LeetCode | 滑动窗口的原理及真题解析
  • 驱动:字符驱动操控硬件
  • Nginx部署vue项目, 无法直接访问其他路径的解决方案
  • PostgreSQL 技术峰会,为您打造深度交流优质平台
  • c++算法学习3——深度优先搜索
  • labelme安装及遇到的问题
  • C++STL-vector的使用
  • ocrapi服务docker镜像使用
  • 计算机网络安全问答数据集(1788条) ,AI智能体知识库收集! AI大模型训练数据!
  • [蓝桥杯]螺旋矩阵
  • 关于智能体API参考接口
  • 番禺建设网站公司哪家好/快速网站
  • pc端网站做移动适配/企业宣传推广方案
  • 网站建设的相关技术/网店推广的重要性
  • 设计公司网站运营/长沙sem培训
  • 南头专业企业网站建设公司/商业计划书
  • 同服务器网站查询工具/推广网页