gulp.src排除所有匹配模式的文件,除了一个 - 不工作?

时间:2016-03-06 22:59:33

标签: javascript node.js gulp minimatch node-glob

这就是我所拥有的。

gulp.src(["app/**/*.js" "!app/environment.*.js","app/environment.prod.js"], {read: false})

我原以为它只包含environment.prod.js并排除所有其他环境。*。js。但它排除了所有这些。

我唯一可以让它工作的方法是不使用通配符进行排除,并像这样重复它们。

gulp.src(["app/**/*.js",
          "!app/environment.test.js", 
          "!app/environment.uat.js",
          "app/environment.prod.js"], {read: false});

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您只需要app/environment.prod.js,请将其传递给gulp.src

修改

gulp.src(["app/**/*.js", "!app/environment.+(test|uat|bla).js"], {read: false})

将排除:app/environment.test.js, app/environment.uat.js, app/environment.bla.js

供参考,请参阅:https://github.com/isaacs/minimatch#usage

我指的是minimatch项目,因为内部gulp将其用于其目的