【发布时间】:2016-12-13 00:58:39
【问题描述】:
我有一个路径数组,比如说:
/Users/alansouza/workspace/project/src/js/components/chart/Graph.js
此外,我在配置文件中有一个条目,该条目具有通配符(glob)格式的此路径的附加属性,如:
{
'**/*.js': {
runBabel: true
}
}
问题:是否有简单的方法来验证路径是否与通配符表达式匹配?
例如:
const matches = Glob.matches(
'**/*.js',
'/Users/alansouza/workspace/project/src/js/components/chart/Graph.js'
);
if (matches) {
//do something
}
仅供参考:我正在使用https://github.com/isaacs/node-glob
【问题讨论】:
-
嘿,我不熟悉 glob 表达式中连续两个星号,在您的示例中,
*和**之间有什么区别? -
我想我明白你的问题,我只是不明白在 glob 表达式中连续 2 颗星是什么意思
-
您的编辑没有对@chiliNUT 的(好)问题做出回应!所以,再说一遍:
**应该是什么意思? -
再次抱歉。这意味着它将匹配路径中的任何子目录级别。我自己不是 glob 模式的专家,所以看看这个:stackoverflow.com/questions/8532929/two-asterisks-in-file-path
-
酷,我刚刚学到了一些新东西:)。所以,我的想法是将 glob 转换为正则表达式,然后 javascript 可以使用它来验证路径名。这是一个可以做到这一点的 npm:npmjs.com/package/glob-to-regexp
标签: javascript regex wildcard glob