如何在Gulp管道中并行运行两个独立的插件?

问题描述 投票:0回答:2

我正在尝试设置一个Gulp任务,通过使用.ttfgulp-ttf2woff插件将gulp-ttf2woff2字体转换为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();
};

是否有可能将它们凝结在一个功能中,让我们称它为function fonts(done) {},它同时处理两个插件?

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

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

其中ttf2woff()ttf2woff2()都接收src的输出并将自己处理的文件提供给dest

stream gulp pipe gulp-plugin
2个回答
1
投票

你可以这样做:

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

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

0
投票

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

gulp.task('fonts', gulp.parallel(ttf2woff, ttf2woff2));

您可以在其他任务中使用此任务(例如,从default任务中调用它),也可以直接从终端调用它:

gulp fonts
© www.soinside.com 2019 - 2024. All rights reserved.