Gulp 如何把一条小溪分成一大口

Gulp 如何把一条小溪分成一大口,gulp,Gulp,基本上,我有一组文件,我使用markdown之类的工具来处理。完成此初始处理后,我想将流分成两部分: 首先,使用1..1映射和布局等附加处理 其次,将所有文件映射为一个文件,如索引,而不应用上述布局 是否可以将流保存到变量中并保持管道?以下是我当前的任务: gulp.task('default', function() { var entries = gulp.src('./log/*.md') .pipe(frontMatter()) .pipe(mar

基本上,我有一组文件,我使用markdown之类的工具来处理。完成此初始处理后,我想将流分成两部分:

  • 首先,使用1..1映射和布局等附加处理
  • 其次,将所有文件映射为一个文件,如索引,而不应用上述布局
  • 是否可以将流保存到变量中并保持管道?以下是我当前的任务:

    gulp.task('default', function() {
        var entries = gulp.src('./log/*.md')
            .pipe(frontMatter())
            .pipe(markdown());
    
        var templated = entries
            .pipe(applyTemplate())
            .pipe(gulp.dest('./build/log'));
    
        var index = entries
            .pipe(index())
            .pipe(applyIndexTemplate())
            .pipe(gulp.dest('./build'));
    
        return merge(templated, index);
    }
    
    我可以多次使用和/或只是构建管道,但还有其他方法吗?

    根据“多个目的地可以通过管道安全连接”,原始示例是正确的:

    var entries = gulp.src('./log/*.md')
        .pipe(frontMatter())
        .pipe(markdown());
    
    var templated = entries
        .pipe(applyTemplate())
        .pipe(gulp.dest('./build/log'));
    
    var index = entries
        .pipe(index())
        .pipe(applyIndexTemplate())
        .pipe(gulp.dest('./build'));
    
    return merge(templated, index);
    

    我尝试了这个方法,但得到了奇怪的行为,可能是我正在做的吞咽动作,但是如果我在某个点保存流(您的
    实体
    var),然后像您一样在流上做两件不同的事情,它似乎将两个更改应用于两个输出,但是如果我只是将它放在一个长流中而不保存它(即删除所有变量,只需在单个流上使用一个巨大的菊花链管道)它运行良好。是的,我遇到了与@Grofit相同的问题…我最后只做了
    gulp.src('dist/**')。管道(…)
    两次,而不是保存为
    distFiles
    ,然后调用管道。
    var gulpClone = require("gulp-clone");
    var eventStream = require('event-stream');
    
    var entries = gulp.src('./log/*.md')
        .pipe(frontMatter())
        .pipe(markdown());
    
    var templated = entries
        .pipe(gulpClone())
        .pipe(applyTemplate())
        .pipe(gulp.dest('./build/log'));
    
    var index = entries
        .pipe(gulpClone())
        .pipe(index())
        .pipe(applyIndexTemplate())
        .pipe(gulp.dest('./build'));
    
    return eventStream.merge(templated, index);