忽略某些 .dot.js 文件的全局模式

问题描述

我正在寻找排除文件名某些部分的 glob 模式。例如,我想获取所有 *.js 文件但排除所有 *.map.js 文件

/hello/world.js // match
/hello/world.map.js // no match
/hello/world.test.js // match

我认为使用像 /**/*!(.map).js 这样的 not 模式会起作用,但它仍然匹配上述所有三个路径。

我很好奇这是否可以不使用 ignore 模式选项。谢谢!

解决方法

这是我想出的:

**/!(*.map.js|!(*.js))

enter image description here

这是操场的链接:

https://www.digitalocean.com/community/tools/glob?comments=true&glob=%2A%2A%2F%21%28%2A.map.js%7C%21%28%2A.js%29%29&matches=false&tests=%2Fhello%2Fworld.js&tests=%2Fhello%2Fworld-test.js&tests=test.js&tests=%2Ffoo%2Fbar.txt&tests=foo.map.js&tests=%2Fhello%2Fworld.map.js&tests=%2Ffoo%2F