#
Создание задачКаждая задача gulp - это асинхронная функция JavaScript - функция, которая принимает обратный вызов сначала с ошибкой или возвращает поток, промис, эмиттер событий, дочерний процесс или наблюдаемый (подробнее об этом позже). Из-за некоторых ограничений платформы синхронные задачи не поддерживаются, хотя есть довольно изящная альтернатива.
#
ЭкспортированиеЗадачи могут считаться публичными или приватными.
- Публичные задачи экспортируются из вашего gulpfile, что позволяет запускать их с помощью команды
gulp
. - Приватные задачи предназначены для внутреннего использования, обычно как часть композиции
series()
илиparallel()
.
Частная задача выглядит и действует как любая другая задача, но конечный пользователь никогда не сможет выполнить ее самостоятельно. Чтобы зарегистрировать задачу публично, экспортируйте ее из своего файла gulpfile.
#
Составление задачGulp предоставляет два мощных метода композиции, series()
и parallel()
, позволяя объединять отдельные задачи в более крупные операции. Оба метода принимают любое количество функций задач или составных операций. series()
и parallel()
могут быть вложены внутри себя или друг в друга на любую глубину.
Чтобы ваши задачи выполнялись по порядку, используйте метод series()
.
Чтобы задачи выполнялись с максимальным параллелизмом, объедините их с методом parallel()
.
Задачи составляются сразу после вызова series()
или parallel()
. Это позволяет варьировать композицию вместо условного поведения внутри отдельных задач.
series()
и parallel()
могут быть вложены на любую произвольную глубину.
Когда выполняется составная операция, каждая задача будет выполняться каждый раз, когда на нее ссылаются. Например, задача clean
, на которую ссылаются перед двумя разными задачами, будет запущена дважды и приведет к нежелательным результатам. Вместо этого выполните рефакторинг clean
задачи, чтобы она была указана в окончательной композиции.
Если у вас есть такой код:
Переходите на это: