简体   繁体   English

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

[英]gulp.src exclude all files matching a pattern except one - not working?

This is what I've got. 这就是我所拥有的。

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

I was expecting it to include only environment.prod.js and exclude all other environment.*.js. 我期望它仅包含environment.prod.js,而排除所有其他environment。*。js。 But it excludes all of them. 但是它排除了所有这些。

Only way I could get it to work is to not use wildcard for exclusion and repeat them like this. 我可以使它起作用的唯一方法是不使用通配符进行排除,并像这样重复它们。

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

Any ideas? 有任何想法吗?

If you only need the app/environment.prod.js , then just pass that to gulp.src 如果只需要app/environment.prod.js ,则将其传递给gulp.src

Edit 编辑

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

Will exclude: app/environment.test.js, app/environment.uat.js, app/environment.bla.js . 将不包括: app/environment.test.js, app/environment.uat.js, app/environment.bla.js

For reference, see this: https://github.com/isaacs/minimatch#usage 作为参考,请参见: https : //github.com/isaacs/minimatch#usage

I refer to minimatch project because internally gulp uses that for their purposes 我指的是minimatch项目,因为内部gulp将其用于其目的

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM