Ответ 1
Если Gulp подстановочные знаки похожи на подстановочные знаки оболочки:
content/css/[^_]*.css
^
в начале набора символов означает совпадение любых символов не в наборе.
Я использую этот файл, соответствующий в gulp:
'content/css/*.css'
Но я хотел бы включить только файлы, которые не начинаются с подчеркивания. Может кто-нибудь сказать мне, как я могу это сделать?
Здесь код:
gulp.task('less', function () {
gulp.src('content/less/*.less')
.pipe(less())
.pipe(gulp.dest('content/css'));
});
Если Gulp подстановочные знаки похожи на подстановочные знаки оболочки:
content/css/[^_]*.css
^
в начале набора символов означает совпадение любых символов не в наборе.
Вы можете добавить второй glob whitch будет фильтровать файлы или папки с подчеркиванием.
Для игнорирования папок я использую:
gulp.src(['./src/**/*.html', '!**/_*/**'])
'!**/_*/**'
будет фильтровать папки, начинающиеся с подчеркивания.
Используйте этот плагин 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
Вы можете использовать это регулярное выражение.
content/css/[^_].*\.css
Добавьте $
в последнем случае, если необходимо.