获取gulp.src中除缩小文件以外的所有文件

时间:2015-06-20 11:40:12

标签: gulp glob minimatch

我尝试选择除缩小文件之外的所有文件。

我有这个文件结构:

lib/
    angular/
        angular.js
        angular.min.js
    lodash/
        lodash.js
        lodash.min.js

我试试这个:

var pattern = ["./lib/**/*!(.min).*"];
gulp.src(pattern).pipe(using({}));

但是这不起作用:我得到所有文件,即使它们被缩小了。

(gulp-using i get:

[gulp] Using file ./lib/angular/angular.js
[gulp] Using file ./lib/angular/angular.min.js
[gulp] Using file ./lib/lodash/lodash.js
[gulp] Using file ./lib/lodash/lodash.min.js

有什么想法吗?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:2)

将模式更改为

var pattern = ["./lib/**/*", "!./lib/**/*.min.*"];

这读作“在lib下的任何地方获取所有文件,然后在lib下排除有'.min'的文件。”在他们的名字“

答案 1 :(得分:1)

我知道这个问题是3年前问过的, 但我会发布此答案,这样可能会对其他人有所帮助。

var pattern = ["./lib/**/!(*.min)*.js"];

,如果您需要添加多个排除对象,例如,要排除fileName.js*.spec以及所有*.min文件,则可以使用| < / p>

var pattern = ["./lib/**/!(fileName|*.spec|*.min)*.js"];