Gulp позволяет брать группу файлов, производить с этой группой некоторую операцию, а затем измененные файлы размещать по новому адресу.
Для этого предназначены специальные функции
src
и dest
. Давайте для начала
импортируем их из нашей библиотеки:
let {src, dest} = require('gulp');
Функция src
позволяет получить указанный
файл:
function task(cb) {
return src('src/styles.css'); // return вместо вызова cb
}
С этим файлом затем по цепочке можно выполнять
различные операции с помощью функции pipe
.
Схематично это выглядит следующим образом:
function task(cb) {
return src('src/styles.css')
.pipe(операция1)
.pipe(операция2)
.pipe(операция3)
}
Последний вызов pipe
в цепочке заканчивается
функцией dest
, задающей папку, в которую
отправится результат проведенных операций:
function task(cb) {
return src('src/styles.css')
.pipe(операция1)
.pipe(операция2)
.pipe(операция3)
.pipe(dest('dist')); // отправим в папку dist
}
Каждая операция производит некоторую манипуляцию с нашим файлом. Например, можно сначала преобразовать LESS в CSS, затем добавить префиксы к свойствам CSS, затем минимизировать полученный CSS и так далее.
Для каждой операции предназначен свой npm плагин для Gulp. Плагины нужно устанавливать и подключать к нашему файлу. Изучением различных плагинов мы займемся в следующих уроках.
Пока для разминки давайте возьмем наш файл
и отправим его копию в папку dist
,
как будто проделав над ним некоторые операции:
function task(cb) {
return src('src/styles.css')
.pipe(dest('dist'));
}
Сделайте три СSS файла. Сделайте три публичных задачи. Пусть каждая задача создает копию одного из наших файлов в заданной папке.
Массив путей к файлам
Функция src
параметром может принимать
не один файл, а сразу несколько в виде массива:
function task(cb) {
let files = [
'src/styles1.css',
'src/styles2.css'
];
return src(files)
.pipe(dest('dist'));
}
Сделайте три СSS файла. Сделайте задачу, которая сделает копию наших файлов в указанной папке.