↑↑

↓↓

Gulp series

Введение

Это небольшая статья про использование Gulp series и Gulp parallel.

Подробное руководство по Gulp Вы найдете в статье Самоучитель Gulp

series и parallel пришли на замену gulp.start с появлением Gulp 4.0

Приведу наглядный пример их использование

Содержание статьи
Введение
Пример
Связанные ошибки

Пример

Напишем две функции, которые просто выводят console.log и сделаем их последовательный экспорт

const gulp = require('gulp'),     { series } = require('gulp'); function test1 (cb) { console.log('test1'); cb(); } function test2(cb) { console.log('test2'); cb(); } exports.test1 = test1; exports.test2 = test2; exports.test3 = series(test1 ,test2);

$ gulp test3

[20:46:36] Using gulpfile ~\Desktop\Sites\heihei\gulpfile.js
[20:46:36] Starting 'test3'...
[20:46:36] Starting 'test1'...
test1
[20:46:36] Finished 'test1' after 710 μs
[20:46:36] Starting 'test2'...
test2
[20:46:36] Finished 'test2' after 222 μs
[20:46:36] Finished 'test3' after 3.5 ms

Видно, что сперва запускается test1 а после неё test2

Ошибки

Error - Task function must be specified

Скорее всего эта ошибка появилась когда Вы, используя Gulp 4 и выше, задавали очередность выполнения тасков «по-старинке» используя синтаксис вроде

gulp.task('task2', ['task1'], function() { gulp.watch("./css/**/*.css", ['css']); }); gulp.task('task1', function() { return gulp.src('./css/**/*.css') .pipe(postcss(…)) .pipe(gulp.dest('.dest')); });

В Gulp 4 для решения этой задачи нужно воспользоваться series или parallel

gulp.task('task2', function() {      gulp.watch("./app/**/*.css", series(task1))          console.log('MY_LOG: task2 is running'); }); function task1() {      console.log('MY_LOG: task1 function is running');      return gulp.src('./app/assets/**/*.css')            .pipe(Какое-то задание для Gulp)            .pipe(gulp.dest('./dest')); }; exports.task1 = task1;

Если остались вопросы - смело задавайте их в комментариях.

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: