Задание 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

У меня это работало, когда я был определен в пути, но проблема в том, что у меня меньше папок на нескольких уровнях. Как я могу решить это?

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).

Другие вопросы по тегам