@Fatoblack

Как добавить игнорирование компиляции less в gulp?

Например у нас в папке less есть 3 файла
main.less
_header.less
_footer.less
На данный момент без ручных манипуляций с импортом и конкатенацией при помощи модулей gulp, эти файлы у меня все компилятся в папку css/ - получается
main.css
_header.css
_footer.css
Разве Gulp не должен автоматически игнорировать компиляцию файлов, названия которых начинается с нижнего подчеркивания?
Как этого добиться?
  • Вопрос задан
  • 636 просмотров
Решения вопроса 1
theobroma
@theobroma
javascript developer (ReactJS)
Сам этим пользуюсь. Нет нужды в дополнительных плагинах. Все внимание на вторую строчку.
'!' + paths.src + 'sass/**/_*.{sass,scss}' означает: "Не надо компилить файлы с расширением SCSS и SASS, которые начинаются на '_' ". Аналогичное можно и с Jade-файлами. Gulp ничего сам по себе не должен. Данный подход с некомпиляцией файлов, начинающихся на подчерк, соглашение и не более того. Очень удобное, правильно, что используете.
gulp.task('sass', function () {
   return gulp.src([paths.src + 'sass/**/*.{sass,scss}', '!' + paths.src + 'sass/**/_*.{sass,scss}']) //<--------------------
    .pipe(plumber())
    .pipe(sourcemaps.init())
    .pipe(sass())
    .pipe(autoprefixer({
        browsers: ['last 2 versions'],
        cascade: false
    }))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(paths.dist + '/css/'))
    .pipe(browserSync.reload({stream: true}))
    .pipe(notify("SASS Compiled"));
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lamo4ok
@lamo4ok
Программист
1. gulp-filter / gulp-ignore. Первый обрабатывает только указанное, второй игнорирует.
2. использовать маску, что-то вроде:
var src = {
    root    : 'src',
    sass    : ['src/sass/**/*.scss', '!src/sass/**/_*']
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы