Stream 如何在一个吸气管中并行运行两个独立的插件?

Stream 如何在一个吸气管中并行运行两个独立的插件?,stream,gulp,pipe,gulp-plugin,Stream,Gulp,Pipe,Gulp Plugin,我正试图通过使用Gulp-ttf2woff和Gulp-ttf2woff2插件来设置一个Gulp任务,将.ttf字体转换为webfont格式。分别将源字体转换为.woff和.woff2 我提供了两个独立的函数,每个插件一个: function fontsW(done) { src(fontsSrc) .pipe(ttf2woff()) .pipe(dest(fontsDist)) done(); }; function fontsW2(done)

我正试图通过使用Gulp-ttf2woff和Gulp-ttf2woff2插件来设置一个Gulp任务,将.ttf字体转换为webfont格式。分别将源字体转换为.woff和.woff2

我提供了两个独立的函数,每个插件一个:

function fontsW(done) {
    src(fontsSrc)
        .pipe(ttf2woff())
        .pipe(dest(fontsDist))
    done();
};

function fontsW2(done) {
    src(fontsSrc)
        .pipe(ttf2woff2())
        .pipe(dest(fontsDist))
    done();
};
有没有可能将它们浓缩到一个函数中,让我们称之为同时处理两个插件的函数fontsdone{}

基本上,我想要这样的东西

function fontsW2(done) {
    src(fontsSrc)
        .pipe(ttf2woff())
        .pipe(ttf2woff2())
        .pipe(dest(fontsDist))
    done();
};

其中ttf2woff和ttf2woff2都接收src的输出,并将它们自己处理的文件提供给dest。

您可以定义一个并行调用这两个函数的任务:

gulp.task('fonts', gulp.parallel(ttf2woff, ttf2woff2));
您可以在其他任务中使用此任务,例如从默认任务调用,也可以直接从终端调用:

gulp fonts
您可以这样做:

function fontsW(done) {
    src(fontsSrc)
        .pipe(ttf2woff())
        .pipe(dest(fontsDist))

     src(fontsSrc)
        .pipe(ttf2woff2())
        .pipe(dest(fontsDist))
    done();
};

谢谢,我知道我可以从一个任务调用多个函数,但我的问题是首先创建一个函数