Gulppack - сборка для автоматизации задач в повседневной front-end разработке. Компилируйте SCSS, сжимайте файлы, оптимизируйте картинки, пишите на ES6. При каждом сохранении файла в редакторе кода браузер автоматически перезагружает страницу. Не волнуйтесь о том, что вам придётся выполнять рутинную работу.
## Что включает в себя сборка?
* [browser-sync](
https://browsersync.io/docs/gulp) - живая перезагрузка веб-страницы при внесении изменений в файлы вашего проекта. Одна из опций — tunnel, которая выдаёт вам ссылку, чтобы любой желающий смог посмотреть вашу работу (в обход хостинга);
* [gulp-autoprefixer](
https://www.npmjs.com/package/gulp-autoprefixer) — автоматически расставляет вендорные префиксы в CSS в соответствии с сервисом [Can I Use](
https://caniuse.com/);
* [gulp-babel](
https://www.npmjs.com/package/gulp-babel) - использование ES6 с [Babel](
https://babeljs.io/);
* [gulp-uglify](
https://www.npmjs.com/package/gulp-uglify) — минификация JS-файлов;
* [gulp-concat](
https://www.npmjs.com/package/gulp-concat) - объединение файлов;
* [gulp-sass](
https://www.npmjs.com/package/gulp-sass) — компиляция SCSS в CSS;
* [gulp-clean-css](
https://www.npmjs.com/package/gulp-clean-css) — минификация CSS-файлов;
* [gulp-sourcemaps](
https://www.npmjs.com/package/gulp-sourcemaps) - карта стилей;
* [gulp-rename](
https://www.npmjs.com/package/gulp-rename) — переименование файлов, добавление суффиксов и префиксов (например, добавление суффикса .min к минифицированным файлам);
* [gulp-imagemin](
https://www.npmjs.com/package/gulp-imagemin) — сжатие изображений PNG, JPG, GIF и SVG;
* [imagemin-pngquant](
https://www.npmjs.com/package/imagemin-pngquant) — дополнение к gulp-imagemin для работы с PNG-изображениями;
* [imagemin-jpeg-recompress](
https://www.npmjs.com/package/imagemin-jpeg-recompress) — дополнение к gulp-imagemin для работы с JPG-изображениями;
* [gulp-favicons](
https://github.com/evilebottnawi/favicons) — генератор фавиконок для вашего проекта;
* [gulp-iconfont](
https://www.npmjs.com/package/gulp-iconfont) — генератор иконочного шрифта из SVG-изображений;
* [gulp-iconfont-css](
https://www.npmjs.com/package/gulp-iconfont-css) — генератор стилей для иконочного шрифта;
* [gulp-svg-sprites](
https://www.npmjs.com/package/gulp-svg-sprites) — создание SVG-спрайтов;
* [gulp-replace](
https://www.npmjs.com/package/gulp-replace) - замена строк;
* [gulp-rigger](
https://www.npmjs.com/package/gulp-rigger) - позволяет вставлять содержимое из отдельных файлов в основной;
* [gulp-newer](
https://www.npmjs.com/package/gulp-newer) — дополнительный плагин к
gulp-imagemin
, позволяет сжимать только новые изображения;
* [gulp-plumber](
https://www.npmjs.com/package/gulp-plumber) — оповещения в командной строке (например, ошибки в SCSS/Sass);
* [gulp-debug](
https://www.npmjs.com/package/gulp-debug) — отладка в терминале;
* [gulp-watch](
https://www.npmjs.com/package/gulp-watch) — отслеживание изменений в ваших файлах проекта;
* [gulp-clean](
https://www.npmjs.com/package/gulp-clean) — удаление файлов и папок.
## Как пользоваться?
Установите [Yarn](
https://yarnpkg.com/en/docs/install).
> Yarn - это современная альтернатива npm. Yarn работает с тем же файлом
package.json
и так же скачивает необходимые модули в папку
node_modules
, но делает это намного быстрее.
Далее, используя
cmd
в Windows или Терминал Linux/macOS, проделайте следующие шаги:
* скачайте сборку: ```git clone
https://github.com/andreyalexeich/gulppack-scss.git```;
* установите
gulp
глобально:
yarn global add gulp-cli
;
* перейдите в скачанную папку со сборкой:
cd gulppack-scss
;
* введите команду, которая скачает необходимые компоненты для корректной работы нашей сборки, указанные в файле
package.json
:
yarn
;
* введите последнюю команду:
gulp
.

Если вы всё сделали правильно, у вас должен открыться браузер с локальным сервером и работающим browser-sync. Теперь если вы внесёте изменения в файлы
.html
,
.scss
,
.js
, браузер сам перезагрузит веб-страницу, а Gulp заново соберёт ваш проект в папке
dest
.