如何在minimatch中匹配html或js一次?

时间:2016-10-20 10:41:48

标签: javascript node.js glob

我正在为gulp watch编写glob模式,并希望在每个html或js上重建更改

# my first variant
> minimatch('src/app/app.js', 'src/app/**/*.(js|html)')
false # not working
> minimatch('src/app/app.js', 'src/app/**/*.+(js|html)')
true # this works
> minimatch('src/app/app.jsjs', 'src/app/**/*.+(js|html)')
true
# but also this works:
> minimatch('src/app/app.jsjsjsjsjs', 'src/app/**/*.+(js|html)')
true

如何正确操作,意味着只匹配html或js一次,就像在正则表达式中一样?

2 个答案:

答案 0 :(得分:1)

您要求它匹配一个或多个(.js|.html)您需要使用@才能匹配

minimatch('src/app/app.js', 'src/app/**/*.@(js|html)')

答案 1 :(得分:1)

看起来你可以使用它:

minimatch('src/app/app.js', 'src/app/**/*.{js,html}')