0

我想在 Visual Studio Code 中有一个 gulp 任务,它监视名为 less 的文件夹中的所有文件,扩展名为 .less。找到后,任务必须将 less 文件编译到与 less 文件夹处于同一级别的名为 css 的文件夹中。

当前代码:

  
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']);
}); 

我想要的是:

  • X
    • 是的
    • 较少的
      • 无风格
    • css
      • 样式.css

上面的代码做了什么:

  • X
    • 是的
    • 较少的
      • 无风格
  • css
    • 是的
      • 较少的
        • 样式.css

当我在路径中指定时,我有这个工作,但问题是我在多个级别上的文件夹较少。我该如何解决这个问题?

4

3 回答 3

2

我知道这是一个老问题,但觉得值得分享我的答案。

gulp.task('app:less', [], function () {
return gulp.src(['./src/**/*.less'], { base: './src/' })
    .pipe(less())
    .pipe(gulp.dest('./src/'));
});

base选项设置为根文件夹,dest路径./src/为我工作。

于 2017-08-29T19:40:42.237 回答
0

目前没有办法做到这一点。唯一可以让您找到解决方案的是gulp-flatten。但是,这需要指定要包含的固定数量的父级。在您的情况下,您有不同级别的文件夹,您需要为每个案例指定不同的数字。因此,唯一的选择是修改展平代码以支持类似 an 的东西excludeParents,这与展平相反,即排除固定数量的父母(在您的情况下为 1)。

于 2015-11-04T10:39:31.267 回答
0

尝试这个 :

gulp.task('less', function() {
    gulp.src(['**/*.less', *.less],{ cwd:'less' })
        .pipe(less())
        .pipe(gulp.dest('css'));
});
于 2015-11-04T10:58:36.097 回答