Как указать Gulp пропускать или игнорировать некоторые файлы в gulp.src([])?

Как я могу указать Gulp пропускать или игнорировать некоторые файлы в gulp.src([...])? Например, я не хочу сжимать и объединять этот файл в моей папке css/ - 'css/ignnore.css'?

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/'));
});

person laukok    schedule 03.11.2014    source источник


Ответы (2)


Добавьте !:

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/'));
});
person jdlm    schedule 03.11.2014
comment
Я считаю, что порядок имеет значение, и исключение должно быть размещено после включения (чтобы было что исключать). - person Gustavo Vargas; 28.07.2015
comment
@GustavoVargas Не согласно этому комментарию на GitHub. Хотя сам особо не исследовал. - person jdlm; 29.07.2015
comment
FWIW Я попробовал оба заказа и получил тот же правильный эффект. - person peteorpeter; 11.08.2017

Попробуй это:

gulp.src(['css/**/!(ignore.css)*.css'])
person qwertymk    schedule 03.11.2014
comment
Я пытаюсь сделать это с окончанием файла, и, кажется, это не работает, понятия не имею, почему! У меня есть '/**/!(.spec.js)*.js' Есть идеи, что с ним не так? Пробую все @qwertymk - person Mark Pieszak - Trilon.io; 25.02.2016
comment
Спасибо. Кажется, это работает для меня var tsFiles = '!(node_modules)/**/*.ts'; - person JonathanPeel; 25.11.2016
comment
Это очень простой способ исключить файлы/типы файлов. Браво! Мой вариант использования заключался в том, чтобы предотвратить копирование .html файлов в папку lib scripts, и изменение моего определения src конфигурации gulp для «lib» на: lib: './src/assets/scripts/lib/**/!(*.html)*' помогло! - person tklives; 25.09.2017
comment
Пришлось удалить расширение. Это помогло мне игнорировать файл app.js, но включить все другие файлы js: assets/js/custom/!(app)*.js - person Floris; 23.09.2019