Javascript 利用前两次吞咽流的输出

Javascript 利用前两次吞咽流的输出,javascript,stream,gulp,Javascript,Stream,Gulp,我想获取CSS处理步骤getCss和JS处理步骤getJs的结果,然后使用这两个结果创建一个名为index.html的文件,该文件是将处理过的CSS和处理过的JS内联到名为index template.html的模板中的结果 有人能帮我更好地理解我是如何做到这一点的吗 这就是我目前所拥有的 gulp.task('build', function() { eventStream.merge(getCss.bind(gulp), getJs.bind(gulp)) .pipe

我想获取CSS处理步骤
getCss
和JS处理步骤
getJs
的结果,然后使用这两个结果创建一个名为
index.html
的文件,该文件是将处理过的CSS和处理过的JS内联到名为
index template.html
的模板中的结果

有人能帮我更好地理解我是如何做到这一点的吗

这就是我目前所拥有的

gulp.task('build', function() {
    eventStream.merge(getCss.bind(gulp), getJs.bind(gulp))
        .pipe(inlineJsAndCss.bind(gulp));
});

function getCss() {
    return this.src(options.lessGlob)
        .pipe(less())
        .pipe(minifyCss());
}

function getJs() {
    return this.src(options.jsGlob)
        .pipe(uglify());
}

function inlineJsAndCss() {
    // Take the CSS and the JS generated by 
    // previous steps and inline them into 
    // index-template.html
    //...
    .pipe(this.dest('index.html'));
}
编辑:是否将中间步骤的结果存储在内存中,然后从中创建流,这是实现这一点的标准方法


使用
事件流。不需要合并

只需将CSS和JS处理步骤的结果输出到最后一步可见的内存区域,然后相应地配置gulp依赖项

大概是这样的:

const sharedMemory = {};
gulp.task('css', partial(getCss, sharedMemory));
gulp.task('js', partial(getJs, sharedMemory));
gulp.task('inline', ['css', 'js'], partial(inline, sharedMemory));
gulp.task('build', ['replace']);
gulp.task('default', ['build']);