Gulpjs combine two tasks into a single task

后端 未结 11 1162
攒了一身酷
攒了一身酷 2020-12-24 01:56

I currently have two tasks, that both compile sass files. I would still like to concat the two directories into separate files but it seems that it would be more maintainabl

11条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-24 02:31

    In Gulp version 4, we have parallel, so you can do:

    // Compile Our Sass
    gulp.task('bootstrap-sass', function() {
      return gulp.src('./public/bower/bootstrap-sass/lib/*.scss')
        .pipe(sass())
        .pipe(concat('bootstrap.css'))
        .pipe(gulp.dest('./public/dist/css'));
    });
    
    gulp.task('site-sass', function() {
      return gulp.src('./public/app/scss/*.scss')
        .pipe(sass())
        .pipe(concat('site.css'))
        .pipe(gulp.dest('./public/dist/css'));
    });
    
    gulp.task('sass', gulp.parallel('bootstrap-sass', 'site-sass')); // Combine
    

    You can also write it as a single task by doing:

    gulp.task('sass', gulp.parallel(
      function() {
          return gulp.src('./public/bower/bootstrap-sass/lib/*.scss')
            .pipe(sass())
            .pipe(concat('bootstrap.css'))
            .pipe(gulp.dest('./public/dist/css'));
      },
      function() {
          return gulp.src('./public/app/scss/*.scss')
            .pipe(sass())
            .pipe(concat('site.css'))
            .pipe(gulp.dest('./public/dist/css'));
      }));
    

    I prefer the first method because it is easier to maintain

提交回复
热议问题