1PeGaS
@1PeGaS

Как сделать асихронность в потоке gulp?

Вот пример
gulp.src('style/*.css').pipe(minify()).dest('www/style')


Сейчас, каждый файл обрабатывается по очереди, а как сделать чтобы файлы начали обрабатываться одновременно?
  • Вопрос задан
  • 353 просмотра
Пригласить эксперта
Ответы на вопрос 2
profesor08
@profesor08 Куратор тега JavaScript
Сделай async функцию, в которой получаешь список файлов, создаешь по промису на каждый файл и минифицируешь его, далее ждешь выполнения всех промисов.

Ну и не забудь сделать ей обертку, чтоб ее можно было передать в pipe.
Ответ написан
Комментировать
allard
@allard
Серийный программист
Сделайте return gulp.src(....).
Добавлю к своему комментарию: Понял почему у меня не возникало сомнений в асинхронности, я писал всегда так
return gulp.src(paths.files.src).pipe(........).pipe(gulp.dest(paths.build));

Дока:
https://github.com/gulpjs/gulp/blob/master/docs/AP...
gulp.src: Returns a stream of Vinyl files that can be piped to plugins.

На выходе у нас поток значит это асинхронный процесс.
Если вы ничего не вернете (reutrn undefined;), то вотчер и такс не поймут, что это аинхронный поток.
Надеюсь поможет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы