Задание Gulp выполнено меньше в папку того же уровня, которая называется css
Я хочу выполнить задачу gulp в Visual Studio Code, которая просматривает все файлы в папке с именем less с расширением.less. При обнаружении задача должна скомпилировать меньше файлов в папку с именем css на том же уровне, что и папка less.
Текущий код:
gulp.task('less', function() {
gulp.src('less/*.less',{ cwd:'..' })
.pipe(less())
.pipe(gulp.dest( 'css' ), { cwd:'..' });
});
gulp.task('default', function() {
gulp.watch('./**/less/*.less', ['less']);
});
Что я хочу:
- Икс
- Y
- Меньше
- style.less
- CSS
- style.css
Что выше код делает:
- Икс
- Y
- Меньше
- style.less
- CSS
- Y
- Меньше
- style.css
- Меньше
- Y
У меня это работало, когда я был определен в пути, но проблема в том, что у меня меньше папок на нескольких уровнях. Как я могу решить это?
3 ответа
Я знаю, что это довольно старый вопрос, но мне хотелось поделиться своим ответом.
gulp.task('app:less', [], function () {
return gulp.src(['./src/**/*.less'], { base: './src/' })
.pipe(less())
.pipe(gulp.dest('./src/'));
});
настройка base
возможность корневой папки с dest
путь к ./src/
работал на меня.
Попробуй это:
gulp.task('less', function() {
gulp.src(['**/*.less', *.less],{ cwd:'less' })
.pipe(less())
.pipe(gulp.dest('css'));
});
В настоящее время нет способа сделать это. Единственное, что может приблизить вас к решению проблемы - это глоток. Однако для этого необходимо указать фиксированное количество родителей для включения. В вашем случае, когда у вас есть папки на разных уровнях, вам нужно будет указать разные номера для каждого случая. Таким образом, единственным вариантом будет изменить плоский код для поддержки чего-то вроде excludeParents
, что делает наоборот, что сглаживает, т.е. исключает фиксированное количество родителей (в вашем случае 1).