我在karma文件配置中遇到了glob语法的问题。让我们假设这个文件夹 结构:
-js
-one
-subone
-two
-special
-four
现在,我想要提供和包含js中的所有文件/文件夹除了特殊文件夹应该只提供但不包括在内。
我试过这个配置:
files: [
{pattern: 'js/**/!(special)/*.js', watched: false, served: true, included: true},
{pattern: 'js/special/**/*.js', watched: false, served: true, included: false}
],
我也试过这个配置,因为我在网上发现了一些看似相似的东西:
files: [
{pattern: 'js/*[!special]/*.js', watched: false, served: true, included: true},
{pattern: 'js/special/**/*.js', watched: false, served: true, included: false}
],
但他们不能工作。目前的结果总是:特殊文件夹及其内容为 服务,但没有其他js文件/文件夹。
更新
我现在直接使用node.js minimatch lib并尝试了这些模式:
files: [
{pattern: 'js/!(special)/**/*.js', watched: false, served: true, included: true},
{pattern: 'js/special/**/*.js', watched: false, served: true, included: false}
],
这适用于迷你版,但不适用于Karma。为什么不呢?
- 结束更新 -
有人可以帮我提出正确的规则吗?感谢。
答案 0 :(得分:1)
发现问题。为了真正覆盖所有文件,我需要有一个额外的规则:
{pattern: 'js/*.js', watched: false, served: true, included: true},
很明显,如果我现在看一下,我们一开始就没看到它。