吞吐连续任务作为流

时间:2015-04-03 07:36:43

标签: gulp

基本上,我将任务分成两部分。首先是发展。没有什么魔力,只是基本的东西才能让它发挥作用。它快速而且很棒。后者用于生产。它很慢,我只想定期运行它进行测试,调试,优化和生产。因此,它们是两个独立的任务。

后者,生产任务,确实依赖于前一个任务,但是,我想继续这个流,好像后一个任务是对前者的补充。

gulp.task('styles', function() {
    return gulp.src('src/sass/**/*.scss')
        .pipe(sass())
        .pipe(autoprefixer())
        .pipe(gulp.dest('dist/css'));
});

gulp.task('styles-production', function() {
    return runTaskAndUseStream('styles')
         // Continue where the styles task ended
         .pipe(uncss({
             ...
         }))
         .pipe(gulp.dest('dist/css'));
});

我希望未记录的 gulp.start('task')方法会返回一个流,但不幸的是它没有。许多模块确实允许你摆弄流,但它们都不会像流一样返回gulp任务。

做什么?

1 个答案:

答案 0 :(得分:3)

最有可能被认为是最佳实践的一件事是将uncss任务合并到你的样式任务中,但只有在设置了某些标志时才运行它:

var gutil = require('gulp-util');

function production(task) {
    return (gutil.env.production ? task : gutil.noop());
}

gulp.task('styles', function() {
    return gulp.src('src/sass/**/*.scss')
        .pipe(sass())
        .pipe(autoprefixer())
        .pipe(production(uncss({

        })))
        .pipe(gulp.dest('dist/css'));
});

您需要的软件包:gulp-util用于noop任务,参数解析

使用gulp styles --production

运行它

(未经测试,但你明白了)