0

我对 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}
],

这适用于 minimatch,但不适用于 Karma。为什么不?

--结束更新--

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

4

1 回答 1

1

发现了问题。为了真正访问所有文件,我需要有一个附加规则:

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

很明显,如果我现在看,只是一开始没有看到。

于 2014-06-10T13:20:13.257 回答