Подтвердить что ты не робот

Как я могу использовать glob для игнорирования файлов, начинающихся с подчеркивания?

Я использую этот файл, соответствующий в gulp:

'content/css/*.css'

Но я хотел бы включить только файлы, которые не начинаются с подчеркивания. Может кто-нибудь сказать мне, как я могу это сделать?

Здесь код:

gulp.task('less', function () {
    gulp.src('content/less/*.less')
        .pipe(less())
        .pipe(gulp.dest('content/css'));
});
4b9b3361

Ответ 1

Если Gulp подстановочные знаки похожи на подстановочные знаки оболочки:

content/css/[^_]*.css

^ в начале набора символов означает совпадение любых символов не в наборе.

Ответ 2

Вы можете добавить второй glob whitch будет фильтровать файлы или папки с подчеркиванием.

Для игнорирования папок я использую:

gulp.src(['./src/**/*.html', '!**/_*/**'])

'!**/_*/**' будет фильтровать папки, начинающиеся с подчеркивания.

Ответ 3

Используйте этот плагин https://github.com/robrich/gulp-ignore

var gulpIgnore = require('gulp-ignore');
var condition = '_*.css'; //exclude condition

gulp.task('less', function() {
  gulp.src('content/less/*.less')
    .pipe(gulpIgnore.exclude(condition))
    .pipe(less())
    .pipe(gulp.dest('/dist/'));
});

Я думаю, что gulp поддерживает файл glob not full-regex, но вы можете попробовать content/css/[^_]*.less

Ответ 4

Вы можете использовать это регулярное выражение.

content/css/[^_].*\.css

Добавьте $ в последнем случае, если необходимо.