问题标签 [minimatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1196 浏览

gulp - 获取 gulp.src 中除缩小文件外的所有文件

我尝试选择所有文件,除了缩小文件。

我有这个文件结构:

我试试这个:

但这不起作用:我得到所有文件,即使它们被缩小了。

(使用 gulp-using 我得到:

)

任何想法 ?

提前感谢您的帮助

0 投票
1 回答
1133 浏览

javascript - Node-Minimatch/Regex:匹配指定子目录内的子目录

我想匹配给定子文件夹中的所有子文件夹。

假设我有以下目录:


现在我想匹配“摇滚”和“流行”中的所有内容,并限制给定名称。在这种情况下,它是“史蒂文”。

到目前为止,以下minimatch glob-rule 工作正常:

上述规则的翻译:

隐藏所有不在摇滚、流行和史蒂文中的东西。


但问题是:可以想象 minimatch 在这种特殊情况下不包括子目录。

我希望它像...

...但遗憾的是它不符合我的规则:

我的问题是: 我怎样才能隐藏除了rock+pop+steven+steven 的子目录之外的所有东西?


目录结构的更好概述:


另外:如果 minimatch 无法处理这个问题,上面规则的常规正则表达式会是什么样子?

0 投票
2 回答
8259 浏览

tfs - TFS 删除,使用 minimatch 模式排除 obj 文件夹

我正在本地设置 TFS 2015,我在最后一个构建步骤 Publish Build Artifacts 中遇到了问题。出于某种原因,构建代理似乎正在归档旧的二进制文件,我留下了一个巨大的文件路径:

我正在使用示例 minimatch 模式复制文件,首先是:

我目前只是在测试,所以这不是一个永久的解决方案,但我怎样才能复制bin文件夹中的所有二进制文件,但不是obj的后代?

从研究中我认为这应该有效,但它没有(它不匹配任何东西):

我正在使用www.globtester.com进行测试。有什么建议么?

在单独的说明中,我稍后会研究存档问题,但如果有人对此有任何指示,请随时发表评论。谢谢

0 投票
0 回答
69 浏览

javascript - 有没有一种简单的方法可以反转多个 minimatch 表达式?

我在 Grunt 任务中使用了以下两个 minimatch 表达式:

第二个表达式反向镜像第一个表达式,使得包含在第一个表达式中的所有文件都被排除在第二个表达式中,类似地,所有从第一个表达式中排除的文件都包含在第二个表达式中。

我想让这两个表达式保持同步。我知道如何用普通的 JS 来做到这一点......例如:

我想知道 Grunt 是否有更简单的方法,或者这是否是确保这两个表达式相互镜像的合适方法?

0 投票
1 回答
461 浏览

javascript - 使用 minimatch 匹配不包含子字符串的文件名

怎么可能匹配这样的文件名

  • 文件名.1.2.3.nupkg

不匹配同一目录中的另一个是这样的

  • 文件名.1.2.3.symbols.nupkg

我想排除包含子字符串“.symbols”的文件。文件号的版本(1.2.3)可能每次都不同。

我需要为此使用 minimatch。https://realguess.net/tags/minimatch/

0 投票
1 回答
2002 浏览

node.js - 什么是匹配所有不以下划线开头的文件的 glob 模式,而忽略以下划线开头的目录中的文件?

给定目录结构:

如何编写选择以下路径的 glob 模式(与 npm 模块glob兼容)?

这是我尝试过的:

但这只会发出:

0 投票
1 回答
301 浏览

gruntjs - 使用执行目录作为 Gruntfile 的文件库

我正在尝试使用 Grunt 来清理一个大型项目。对于这个特定示例,我正在尝试运行单元测试,并且只想对当前执行grunt目录下的路径(即 的结果pwd)执行此操作。

我想要一个位于项目根目录的 Gruntfile。我知道grunt会从任何子目录中毫无问题地找到并执行它。如果我定义要查看的"test/"测试运行器选项,它只会在{project root/}test/. 有没有办法告诉项目级 Gruntfile 使其路径(全部或部分)相对于执行位置?

笔记:

  • 我不需要被告知“你为什么要这样做?Grunt 应该管理你的整个项目!” 这是一次改造,直到一切正常的那一天,我想要/需要它零碎的。
  • 重申"**/test/"一下,这不是答案,因为我只想要当前grunt执行目录下的测试。
  • --base也不会工作,因为 Grunt 会在基本位置查找 Node 包。
  • 对于类似的情况,我使用了一个共享配置 JSON 文件,该文件是通过grunt.config.merge(grunt.file.readJSON("../grunt-shared.json"));. 但是,这需要子文件夹中的 Gruntfiles,以及共享文件的硬编码路径(例如,../),这似乎很脆弱。
  • 我可以编写代码来进行一些目录爬升和路径构建,但我想把它作为最后的手段。
0 投票
0 回答
138 浏览

node.js - 如何将 .npmrc 文件与 gulp.src 匹配?

我一直在尝试在 gulp.src 中使用 glob 来匹配所有文件,包括点文件,特别是.npmrc文件。我尝试了以下模式;

gulp.src('/path/to/my/files/**/{*,.*}')

gulp.src('/path/to/my/files/**/*', {dot: true})

gulp.src('/path/to/my/files/.npmrc')

这些模式都不起作用。更多细节可以在 GitHub 上找到

有谁知道为什么.npmrc这些模式不匹配文件?有谁知道如何匹配它们?

0 投票
1 回答
964 浏览

javascript - gulp.src 排除与模式匹配的所有文件,除了一个 - 不起作用?

这就是我所拥有的。

我期望它只包含 environment.prod.js 并排除所有其他 environment.*.js。但它排除了所有这些。

我可以让它工作的唯一方法是不使用通配符进行排除并像这样重复它们。

有任何想法吗?

0 投票
1 回答
1968 浏览

azure-devops - VSTS 发布任务中的 Minimatch 排除模式

我一直在努力让这个 minimatch 排除模式起作用。

**\src!(packages)模式按预期工作,但我还需要排除 src 目录下的 web.template.config 文件。我已经尝试了几件事,包括**\src!(packages| Web.template .config)

任何人都可以帮助或指出我解决此问题的好方法吗?我被困住了。