anymatch

中文文档
3.1.3发布于 2022/11/22ISCTypeScript近 30 天下载 4.4亿

匹配字符串与可配置字符串、 软体、 正则表达式和/或函数

中文使用文档
文档目录3 节
  1. 使用量
  2. 更改日志
  3. 许可证

任意匹配 Build Status Coverage Status

Javascript 模块将字符串匹配到正则表达式, glob, string, 或函数将字符串作为参数并返回真伪或虚伪 数值。 火柴也可以是其中任何一个或全部的数组. 用于 允许一个非常灵活的用户定义配置来定义文件路径等东西.

说明: 这个模块有 Bash-parity,请注意Windows 风格回鞭不支持作为分隔符. 见 https://github.com/micromatch/micromatch#后鞭打 更多信息.

使用量

npm install anymatch

任意匹配( 匹配者, 测试String, [返回Index], [选项])

  • 匹配点: (中文(简体) )阵列 QQ 串列 REG ExpQ 功能(中文(简体) ) 要直接匹配的字符串, 有 glob 模式的字符串, 正则表达式 测试,以测试为参数并返回真伪的函数 值,如果它应该匹配,或者这些类型的任何数字和组合的数组.
  • 测试: (中文(简体) )字符串QQ 箭头)取弦以试相克者. 若为 作为数组传递,数组的第一个元素将作为 testString 用于非函数匹配器,同时将应用整个阵列 作为函数匹配者的参数.
  • 选项: (中文(简体) )对象 [可选] . 任何一个 缩写 选项.
    • 返回内存: (中文(简体) )布尔 [可选]如果选中的话, 返回 测试匹配的第一个匹配者String,或者 -1 如果没有匹配,而不是一个 布尔结果.
const anymatch = require('anymatch');

const matchers = [ 'path/to/file.js', 'path/anyjs/**/*.js', /foo.js$/, string => string.includes('bar') && string.length > 10 ] ;

anymatch(matchers, 'path/to/file.js'); // true
anymatch(matchers, 'path/anyjs/baz.js'); // true
anymatch(matchers, 'path/to/foo.js'); // true
anymatch(matchers, 'path/to/bar.js'); // true
anymatch(matchers, 'bar.js'); // false

// returnIndex = true
anymatch(matchers, 'foo.js', {returnIndex: true}); // 2
anymatch(matchers, 'path/anyjs/foo.js', {returnIndex: true}); // 1

// any picomatc

// using globs to match directories and their children
anymatch('node_modules', 'node_modules'); // true
anymatch('node_modules', 'node_modules/somelib/index.js'); // false
anymatch('node_modules/**', 'node_modules/somelib/index.js'); // true
anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false
anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true

const matcher = anymatch(matchers);
['foo.js', 'bar.js'].filter(matcher);  // [ 'foo.js' ]
anymatch master* ❯

任意匹配( 匹配)

您也可以只通过您的匹配者来获取一个具有 已绑定到提供的匹配标准 。 这可以用作 Array#filter 调用.

var matcher = anymatch(matchers);

matcher('path/to/file.js'); // true
matcher('path/anyjs/baz.js', true); // 1

['foo.js', 'bar.js'].filter(matcher); // ['foo.js']

更改日志

参见 GitHub 上的发布注释页

许可证

公务员制度委员会

版本与发布记录

anymatch 共发布 18 个版本,首次发布于 2013/11/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.1.3latest2022/11/223 年前
3.1.22021/04/075 年前
3.1.12019/10/017 年前
3.1.02019/08/307 年前
3.0.32019/07/077 年前
3.0.22019/05/147 年前

关于 anymatch 的常见问题

anymatch 是什么?

匹配字符串与可配置字符串、 软体、 正则表达式和/或函数

如何安装 anymatch?

在项目目录运行 npm install anymatch,或使用 pnpm add / yarn add / bun add。

anymatch 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

anymatch 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 8。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

anymatch 可以商用吗?

anymatch 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

anymatch 的下载量有多少?

根据 npm 官方下载统计,anymatch 在 2026/10/05 – 2026/11/03 这 30 天内被下载 444,937,389 次,日均约 14,831,246 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

anymatch 还在维护吗?

最新版本 3.1.3 发布于 2022/11/22(3 年前);至今共发布 18 个版本,其中过去 12 个月发布了 0 个;首次发布于 2013/11/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。