问题标签 [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.
node.js - 如何使用节点 glob 获取第一个 X 文件
使用node-glob,是否可以指定只返回前 X 个匹配文件而不是所有匹配的模式?
例如,如果我想要所有 JavaScript 文件,我的模式将是**/*.js
. 但是如果我只想要前 5 个 JavaScript 文件怎么办?
我意识到还有其他选择,例如我可以获取生成的文件集数组并将其切片。这里的基本情况使这变得困难,所以我试图直接从 glob 模式中完成这一点。
javascript - 用“!”为数组中的所有字符串添加前缀的最简单方法是什么?(感叹号)在javascript中?
当我想包含或排除系统文件时,我有两个变量用于(使用 minimatch glob 语法,其中!
代表排除)。
但这感觉有点多余。有没有一种简单的方法可以将systemFiles
数组转换为ignoredSystemFiles
数组(即:systemFiles
用 a 为所有项目添加前缀!
)?
我知道!systemFiles
这不起作用,但是像这样紧凑的东西会很棒,因为它可以让我消除ignoredSystemFiles
变量。
glob - 业力配置 - 排除 src 子文件夹
我对 karma 文件配置中的 glob 语法有疑问。让我们假设这个文件夹结构:
现在,我希望 js 中的所有文件/文件夹都被提供和包含,除了特殊文件夹应该只提供但不包括在内。
我试过这个配置:
我也试过这个配置,因为我在网上发现了一些类似的东西:
但他们不工作。当前的结果总是:提供包含其内容的特殊文件夹,但没有其他 js 文件/文件夹。
更新
我现在直接使用 node.js minimatch lib 并尝试了这些模式:
这适用于 minimatch,但不适用于 Karma。为什么不?
--结束更新--
有人可以帮我想出正确的规则吗?谢谢。
node.js - Node.js glob 包含/排除文件
这是我当前的代码,用于将相关文件从我的源代码复制到我的构建目录。它没有按预期工作
我的想法是这样的:
- 选择 src 中的所有文件和文件夹
- 删除所有 js 和 sass 文件,因为它们被编译/concat/minified 并复制以构建另一个任务
- 但是必须复制console.js 和cordova.js,所以我想将它们重新包含到glob 中
好吧,我认为 globArray 中的元素顺序是一个优先级或其他东西,因此例如 console.js 在它被过滤掉后会被重新包含。好像不是这样:(
我能做些什么?
node.js - Glob / minimatch:如何 gulp.src() 一切,然后排除文件夹但在其中保留一个文件
我有一个这样的项目:
我需要写gulp.src()
这将包括所有文件夹excl1
,excl2
但保留.gitignore
文件。
这是我的代码不起作用:
javascript - 包括/排除 gulp.src 的 glob
我正在尝试在 gulp 中为我的 javascript concat 构建任务设置一个 glob数组。目录结构如下所示:
文件的顺序很重要:
- 生成/header.js
- 应用程序.js
- 任何 *.js 文件,但下面的文件除外
- 生成/templates.js
- 生成/footer.js
我已经疯狂地尝试了各种通配符组合,但通配符对我来说并不强。
那么如何包含*.js
除子目录中的文件之外的所有文件?
谢谢。
gruntjs - Grunt usemin 任务未正确更新嵌套的相对路径
我有一个使用“webapp-generator”搭建的 Yeoman 项目,其中包含一个带有嵌套 HTML 文件的静态网站,类似于以下结构:
我正在使用usemin
和filerev
任务来更新 .html 文档上的 filerevved 文件路径。它在 js/css/images 上正确更新所有文件名,并且在 root 上正确工作index.html
。但是,在嵌套的 HTML 文件中,它不会替换对正确嵌套路径的引用。
例如。
js/scripts.js
被重命名为js/827385.scripts.js
在index.html中
<scripts src="js/scripts.js"></scripts>
决议:<scripts src="js/827385.scripts.js"></scripts>
但在 directory/file1.html(或任何其他嵌套的 html 文件)
<scripts src="../js/scripts.js"></scripts>
也转换为:<scripts src="js/827385.scripts.js"></scripts>
忽略../
相对路径
有什么方法可以调整 Grunt 任务以了解目录中文件的相对深度以将相对指示器保持../
在重命名的路径中?
下面是相关 Grunt 任务的代码片段。
PS:我已经关注了这个 Stack Overflow 问题中的一些可能的答案:我应该如何配置 grunt-usemin 以使用相对路径无济于事。
gulp - 使用 src glob 时排除嵌套目录被复制
在 gulp src 方法中使用 glob 时,我不能排除目录结构被复制。我的任务:
我希望只复制文件,而不是整个目录结构。
我的目录结构:
运行 gulp 任务后的目录结构:
运行 gulp 任务后的预期目录结构:
值得注意的是,使用例如 glob 'src/modules/module_1/wrappers/**' 可以得到想要的结果。
使用的模块:
- 吞咽 3.8.10
我做错了什么还是js glob实现中的错误?
regex - Glob / minimatch:如何获取子文件夹?
我想将凉亭组件的完整文件夹结构(没有第一级文件)复制到我的 Web 项目中。
源项目的结构如下所示:
我想获取文件夹css
(包含文件)和fonts
(包含文件)。
我当前的minimatch模式是:
"bower_components/roboto-fontface-bower/**"
使用我当前的模式,文件.bower.json
,bower.json
等也被复制,这是我不想要的。我怎样才能只获得两个文件夹(css & fonts)?
我试过"bower_components/roboto-fontface-bower/{css/,fonts/}"
了,但这没有任何复制。