与咕嘟咕嘟少维护文件夹结构开始咕嘟咕嘟(Starting Gulp with Gulp-less m

2019-10-19 10:06发布

我今天开始看gulp.js编译我不太文件等

我已经得到了它,并与任务运行,但编译后的文件都放在同一个文件夹 - 不保持源层次结构。

有没有一种方法,以确保输出保持原有的文件结构?

我是新来吞掉所以可能无法正确执行此操作。

这是我一饮而尽文件(有关的部分,以减):

var sourceLess = 'app/assets/stylesheets/less';
var targetCss = 'public/css2';

// Compile Our Less
gulp.task('less', function() {
return gulp.src([sourceLess + '/my-bootstrap-theme.less', sourceLess + '/themes/*.less'])
    .pipe(less())
    .pipe(minifyCss())
    .pipe(gulp.dest(targetCss));
});

我想从放置在目标文件夹主题的源文件夹主题的减档。 我错过了什么选择?

我一定要运行这些作为单独的任务吗?

谢谢

更新:我已经看过了建议后,并改变了我的路径是:

gulp.src([sourceLess + '/**/my-bootstrap-theme.less', sourceLess + '/themes/**/*.less', sourceLess + '/responsive.less'], {
    base: 'sourceLess'
})

我也改变了我的目录变量是:

var sourceLess = './app/assets/stylesheets/less';
var targetCss = './public/css2';

但它不会产生该文件夹themes是我预期。

Answer 1:

如果你想保持子文件夹,你必须定义的选项基础(第二个参数),例如,以保持“资产/ FILE.DOC”中的“DIST /”:

gulp.src(["assets/file.doc"], {base: "."})
    .pipe(gulp.dest("dist/"));

检查在链接https://github.com/gulpjs/gulp/issues/151

cheers, chidan



Answer 2:

您需要使用两个流

var sourceLess  = 'app/assets/stylesheets/less';
var targetCss   = 'public/css2';

gulp.task('less', function() {

    // my-bootstrap-theme.less
    gulp.src(sourceLess + '/my-bootstrap-theme.less')
        .pipe(less())
        .pipe(minifyCss())
        .pipe(gulp.dest(targetCss));

    // themes/*.less
    gulp.src(sourceLess + '/themes/*.less')
        .pipe(less())
        .pipe(minifyCss())
        .pipe(gulp.dest(targetCss + '/themes'));

});


文章来源: Starting Gulp with Gulp-less maintain folder structure