Как запустить два отдельных плагина параллельно в канале Gulp? - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь настроить задачу Gulp для преобразования .ttf шрифтов в форматы веб-шрифтов с помощью плагинов gulp-ttf2woff и gulp-ttf2woff2. Соответственно преобразуйте исходные шрифты в .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.

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Вы можете сделать это:

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

     src(fontsSrc)
        .pipe(ttf2woff2())
        .pipe(dest(fontsDist))
    done();
};
0 голосов
/ 17 марта 2019

Вы можете определить задачу, которая вызывает обе функции параллельно:

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

Вы можете использовать эту задачу в других задачах (например, вызвать ее из задачи default) или вызвать ее непосредственно из терминала:

gulp fonts
...