karma config - 排除src子文件夹

时间:2014-06-10 12:38:58

标签: glob karma-runner minimatch

我在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。为什么不呢?

- 结束更新 -

有人可以帮我提出正确的规则吗?感谢。

1 个答案:

答案 0 :(得分:1)

发现问题。为了真正覆盖所有文件,我需要有一个额外的规则:

{pattern: 'js/*.js', watched: false, served: true, included: true},

很明显,如果我现在看一下,我们一开始就没看到它。