我在配置文件中看到了用于量角器的这种模式.
specs: [ 'test/e2e/**/*.spec.js' ]
意思是它意味着" test/e2e中的所有文件".这是什么样的模式?我认为这不是正则表达式,因为那些未转义的斜杠.特别是,为什么**
在中间,而不仅仅是test/e2e/*.spec.js
?
我尝试使用搜索引擎,但没有找到任何有用的可能因为星号在搜索引擎中不能很好地工作.
这是什么样的模式?
它被称为" glob ".模块glob是Node的流行实现,似乎是Protractor使用的模块.
特别是,为什么中间有"**",而不仅仅是"test/e2e/*.spec.js"?
**
意味着它可以匹配子目录.它就像子目录的通配符.
例如,test/e2e/*.spec.js
匹配test/e2e/example.spec.js
,但不匹配test/e2e/subdir/example.spec.js
.但test/e2e/**/*.spec.js
两者都匹配.
它被称为"glob"语法.Glob是一个允许使用一系列通配符指定文件的工具.
*.js
表示"具有js
扩展名的文件夹中的所有内容.
**
意思是"后代文件/文件夹.
**/*.js
表示" js
在后代文件夹中具有扩展名的后代文件".
test/e2e/**/*.spec.js'
表示上述内容,从test/e2e/
目录开始.
因此,例如,给定此文件系统:
test/e2e/foo/a.spec.js <-- matches test/e2e/foo/butter.js <-- does not include "spec.js" test/e2e/bar/something.spec.js <-- matches test/other/something-different.spec.js <-- not in /test/e2e
最终模式将匹配:
test/e2e/foo/a.spec.js test/e2e/bar/something.spec.js