Gulp.js

gulp
ТипToolkit
РозробникFractal and contributors of the GitHub community
Стабільний випуск4.0.0 (31 грудня, 2017; 6 років тому (2017-12-31)[1])
ПлатформаCross-platform
Операційна системакросплатформова програма
Мова програмуванняJavaScript
Доступні мовиJavaScript
ЛіцензіяMIT License[2]
Репозиторійgithub.com/gulpjs/gulp
Вебсайтgulpjs.com

Gulp — таск-менеджер для автоматичного виконання завдань (наприклад, мініфікаціі, тестування, об'єднання файлів), написаний на мові програмування JavaScript. Програмне забезпечення використовує командний рядок для запуску завдань, визначених у файлі Gulpfile[3]. Створено як відгалуження від проекту Grunt, щоб взяти з нього найкращі практики[4]. Поширюється через менеджер пакетів Npm під MIT ліцензією[5].

На відміну від Grunt код завдань записують JavaScript кодом, а не у вигляді конфігураційного файлу[6].

Станом на 2017-й рік налічується більше 3100 плагінів для Gulp[7].

Взаємодії між частинами програми реалізують за допомогою оператора .pipe() , виконуючи по одному завданню за раз, не зачіпаючи вихідні файли. Це дає можливість комбінації плагінів в будь-якій послідовності і кількості.

Так само в Gulp вдосконалена система збирання. Це означає, що крім запуску завдань, можна також копіювати файли з місця на місце, компілювати і розгортати проект в новому оточенні.

Анатомія gulpfile

[ред. | ред. код]

Файл містить підключення плагінів, функції завдань та завдання за замовчуванням наприкінці.

Плагіни

[ред. | ред. код]

Будь-який необхідний плагін підключається на початку файлу. Перед цим плагіни повинні бути інстальовані командою npm install.

[8][9]

//Adding dependencies
var gulp = require ( 'gulp');
var gutil = require ( 'util-gulp');


Завдання

[ред. | ред. код]

Завдання створюють за допомогою gulp.task, в якому першим аргументом є назва завдання, а другим аргументом анонімна функція.

[10]

//Defining tasks
gulp.task ( 'taskName', function () {
//do something
});

Можна написати завдання яке виконує декілька функцій. Список функцій передаються 2 аргументом у вигляді масиву.

function fn1 () {
// do something
}

function fn2 () {
// Do something else
}

// Task with array of function names
gulp.task ( 'taskName', ['fn1','fn2']);

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. gulp changelog. Архів оригіналу за 1 травня 2019. Процитовано 11 січня 2018.
  2. License to github.com (англ.). Архів оригіналу за 1 травня 2019. Процитовано 30 травня 2016.
  3. An Introduction to Gulp.js. Архів оригіналу за 14 серпня 2018. Процитовано 13 серпня 2018.
  4. / Gulp - як ковток свіжого повітря після Grunt. Архів оригіналу за 12 березня 2017. Процитовано 13 серпня 2018.
  5. LICENSE. Архів оригіналу за 1 травня 2019. Процитовано 13 серпня 2018.
  6. Gulp або Grunt, та все одно. Архів оригіналу за 12 березня 2017. Процитовано 13 серпня 2018.
  7. packages with keyword 'gulpplugin'
  8. gulpjs/gulp. GitHub. Архів оригіналу за 4 січня 2020. Процитовано 23 вересня 2016.
  9. Maynard, Travis (2015). Getting Started with Gulp. Packt Publishing Ltd. ISBN 9781784393472.
  10. gulp/API.md at 4.0 · gulpjs/gulp · GitHub. GitHub. 12 травня 2016. Архів оригіналу за 6 березня 2017. Процитовано 14 грудня 2016.