如何告诉Gulp跳过或忽略gulp.src([...])中的某些文件?

问题描述:

如何告诉Gulp跳过或忽略gulp.src([...])中的某些文件?例如,我不想压缩和concat这个文件在我的css /文件夹 - 'css/ignnore.css'如何告诉Gulp跳过或忽略gulp.src([...])中的某些文件?

var autoprefix = require('gulp-autoprefixer'), 
    concat = require('gulp-concat'), 
    minifyCss = require('gulp-minify-css'); 

gulp.task('styles', function() { 
    gulp.src([ 
     'css/ignnore.css', // ignore this file 
     'css/*.css' 
    ]) 
    .pipe(concat('styles.css')) 
    .pipe(autoprefix('last 2 versions')) 
    .pipe(minifyCss()) 
    .pipe(gulp.dest('local/view/style/base/css/dist/')); 
}); 

添加!

gulp.task('styles', function() { 
    gulp.src([ 
     '!css/ignnore.css', // <== ! 
     'css/*.css' 
    ]) 
    .pipe(concat('styles.css')) 
    .pipe(autoprefix('last 2 versions')) 
    .pipe(minifyCss()) 
    .pipe(gulp.dest('local/view/style/base/css/dist/')); 
}); 
+0

我确实认为这个命令很重要,排除之后必须加入(所以它有什么要排除)。 – 2015-07-28 19:44:39

+0

@GustavoVargas根据[此评论](https://github.com/gulpjs/gulp/issues/837#issuecomment-68069722)在GitHub上。尽管我自己并没有做过多的研究。 – jlowgren 2015-07-29 08:01:50

+1

FWIW我尝试了两个顺序,并得到相同的,正确的效果。 – peteorpeter 2017-08-10 21:44:17

试试这个:

gulp.src(['css/**/!(ignore.css)*.css']) 
+0

我试图与结尾的文件,要做到这一点,它似乎无法正常工作,不知道为什么!我有'/ ** /!(。spec.js)*。js''任何想法有什么问题吗?尝试一切@qwertymk – 2016-02-25 16:37:27

+0

谢谢。 这似乎对我有用'var tsFiles ='!(node_modules)/ **/*。ts';' – JonathanPeel 2016-11-25 05:17:20

+0

这是排除文件/文件类型的一种非常简单的方法。好样的!我的用例是为了防止'.html'文件被拷贝到lib脚本文件夹中,并将'lib'的gulp config src定义更改为:'lib:'./src/assets/scripts/lib/** /!(*。html)*''做了诡计! – 2017-09-25 19:11:54