Полный цикл в digital

Публичные и приватные задачи Gulp

Для работы Gulp необходим специальный файл gulpfile.js, размещаемый в корневой папке проекта. В этом файле размещаются задачи для Gulp. Эти задачи представляют собой функции JavaScript. Создадим указанный файл и подключим к нему нашу библиотеку:

gulpfile.jslet gulp = require('gulp');

Создадим функцию с нашей первой задачей и экспортируем ее:

gulpfile.jslet gulp = require("gulp");
function task(cb) {
  console.log("my first task completed!");
  // специальный коллбэк
  cb(); 
}
exports.default = task;

Объяснение cb

В функцию с задачей параметром попадает функция-коллбэк, которая должна быть вызвана в конце задачи, это делается для того, чтобы уведомить Gulp о завершение задачи и возможности приступать к следующей задаче:

gulpfile.jsfunction task(cb) {
  console.log("my first task");
  // вызываем коллбэк
  cb();
}

Запуск

Поскольку задача default для Gulp является задачей по умолчанию, запустить её можно командой:

gulp

Публичные задачи

Пусть у нас есть несколько задач:

gulpfile.jsfunction taskD(cb) {
  console.log("taskD");
  cb();
}
function task1(cb) {
  console.log("task1");
  cb();
}
function task2(cb) {
  console.log("task2");
  cb();
}

Можно сделать сколько угодно задач, однако, только одна задача может быть основной - та, которую мы экспортируем по умолчанию:

gulpfile.jsexports.default = taskD;

Как вы уже знаете, такая задача может быть запущена через командную строку следующей командой:

gulp

Остальные задачи также могут быть экспортированы. Экспортированные задачи называются публичными, так как они создаются для их последующего запуска через командную строку:

gulpfile.jsexports.task1 = task1;
exports.task2 = task2;

В нашем случае для запуска первой и второй задачи в командной строке нужно выполнить следующее:

gulp task1
gulp task2

Приватные задачи

Пусть у нас есть две задачи:

gulpfile.jsfunction task1(cb) {
  console.log("task1");
  cb();
}
function task2(cb) {
  console.log("task2");
  cb();
}

Пусть у нас также есть еще одна задача, вызывающая внутри себя остальные задачи:

gulpfile.jsfunction taskD(cb) {
  task1(cb);
  task2(cb);
  cb();
}

Именно эту задачу мы и будем экспортировать. У нас есть одна задача для экспорта которую можно назвать публичной, и две вспомогательные задачи которые можно назвать приватные, приватные используются только внутри функций публичных задач:

gulpfile.jsexports.default = taskD;
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг