我对 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。为什么不?
--结束更新--
有人可以帮我想出正确的规则吗?谢谢。