Gulp
#1 Основные понятия
- Сборщик
 - это специальная утилита которая позволяет сжимать исходный код, изображения, преобразовывать код из препроцессоров в обычный CSS/JS/HTML.
 
- Grunt
 - менеджер задач для автоматического выполнения рутинных операций, написанный на языке программирования JavaScript. Программное обеспечение использует командную строку для запуска задач, определённых в файле Gruntfile.
 
- Webpack
 - это пакет модулей JavaScript с открытым исходным кодом. Это пакет модулей в основном для JavaScript, но он может преобразовывать внешние ресурсы, такие как HTML, CSS и изображения, если включены соответствующие загрузчики.
 
- Gulp
 - это таск-менеджер для автоматического выполнения часто используемых задач, написанный на языке программирования JavaScript. Программное обеспечение использует командную строку для запуска задач, определённых в файле Gulpfile. Создан как ответвление от проекта Grunt, чтоб взять из него лучшие практики.
 
- npm
 - менеджер пакетов, входящий в состав Node.js. Установка пакета производится при помощи команды: npm install 
Все доступные для установки пакеты и их краткое описание: npm search Этой же командой можно производить выборочный поиск пакетов.  
#2 Настройка окружения
- Проверка установлен ли Node.js
 - вводим в терминале команду node -v
 

- Если не установлен Node.js
 - скачиваем с офиц сайта и устанавливаем свежую стабильную версию
 - ВАЖНО! ставим всё по умолчанию, никакие доп пакеты предлагаемые в процессе установки не нужны
 - https://nodejs.org/en/
 - после этого необходимо переоткрыть терминал и снова проверить версию Node.js. Если версия появилась, Node.js установлен.
 - если вы видите ошибку npm - command not found, вам необходимо установить npm при помощи команды в терминале npm install npm@latest -g
 

- Установка gulp глобально
 - npm install --global gulp-cli
 - проверка версии gulp -v
 

#3 Создание проекта
- Создаем репозиторий на гитхабе
 - Клонируем себе (git clone "путь до репозитория")
                


 - Заходим в папку будущего проекта
                

 - Далее один из вариантов
 
Вариант №1 - использование готовой сборки
- Самый простой вариант - скачиваем себе чистую готовую сборку архивом ->https://github.com/HelenTR7/gulp_clear
 - Копируем файлы в папку своего проекта(с заменой README.md)
                

 - Устанавливаем необходимые для работы сборки пакеты, команда npm install (или коротко npm i). После этого в проект будет добавлена папка node_modules
                

 - Если команда не работает то проверьте правильность пути по которому вы вводите команду.
                

 - Теперь можно запускать режимы настроенные в данной сборке, смотрим файл README.md
                

 - Запускаем режим для разработки - gulp
                

 - 
                Если после команды gulp вылезла ошибка как на скрине ниже, то запускаем VSCode от имени админимстратора,вводим команду Set-ExecutionPolicy RemoteSigned и со всем соглашаемся, после снова запускаем команду gulp
                

 - 
                Если после команды gulp вылезла ошибка как на скрине ниже, то запускаем VSCode от имени админимстратора,вводим рекомендуемую команду npm rebuild node-sass, после снова запускаем команду gulp
                

 - После успешного запуска должна открыться вкладка в вашем браузере по умолчанию с запущенной index страницей
                

 - Можно писать код :)
 
Вариант №2 - создание сборки с нуля
- Запускаем команду npm init, заполняем поля либо оставляем пустым соглашаясь нажимая enter, в конце пишем yes
                


 - Проверяем, что package.json создан по завершении
                

 - Устанавливаем первый пакет в свежий проект (добавим gulp). Команда npm i gulp
                

 - Проверяем, что пакет с его зависимостями добавлен в проект (Будет сформирована папка node_modules и файл package-lock.json)
                

 - Дальше нужно добавить все необходимые для работы пакеты, разметить структуру исходных файлов проекта, написать команды для gulp