当前位置:  开发笔记 > 编程语言 > 正文

这种模式是如何工作的:'test/e2e/**/*.spec.js'?

如何解决《这种模式是如何工作的:'test/e2e/**/*.spec.js'?》经验,为你挑选了2个好方法。

我在配置文件中看到了用于量角器的这种模式.

specs: [
  'test/e2e/**/*.spec.js'
]

意思是它意味着" test/e2e中的所有文件".这是什么样的模式?我认为这不是正则表达式,因为那些未转义的斜杠.特别是,为什么**在中间,而不仅仅是test/e2e/*.spec.js

我尝试使用搜索引擎,但没有找到任何有用的可能因为星号在搜索引擎中不能很好地工作.



1> Alexander O'..:

这是什么样的模式?

它被称为" 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两者都匹配.



2> cwallenpoole..:

它被称为"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

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有