我在一些开源项目中看到了**.js
和**/*.js
。据我了解,**/*.js
递归地定位所有文件夹中的所有.js文件。
然后,**.js
是什么意思?它是否与**/*.js
或*.js
或其他内容相同?
答案 0 :(得分:5)
**
是所谓的globstar,它的工作原理与bash相同:它以递归方式匹配目录。 minimatch库(Grunt在内部使用)的文档声明:
这是以bsdglob和bash 4.1的方式支持的,其中**仅在路径部分中唯一具有特殊意义。也就是说,a / ** / b将匹配/ x / y / b,但a / ** b不匹配。
换句话说,**.js
表示与*.js
相同。