Предполагается, что GIT и Node.js уже установлены на вашей машине глобально. Если нет, то скачиваем и выполняем установку. Все команды необходимо набирать в консоли, находясь в корневой папке проекта.
Выполняем из консоли следующую команду (точка в конце обязательна):
> git clone https://github.com/gitolog/ss-gulp-modules.git .
При этом в корень проекта будут скопированы файлы gulpfile.js и package.json,необходимые для дальнейшей установки.
Если Gulp уже установлен, этот пункт можно пропустить.
> npm install -g gulp
Ключ -g говорит о том, что устанавливается системно.
> npm install --save-dev
Будут установлены модули, перечисленые в файле package.json:
- gulp - Собственно сам планировщик. Будет установлен локально в проект (, так надо)
- del - Модуль Node.js для удаления файлов и папок
- gulp-autoprefixer - CSS-постпроцессор. Автоматически добавляет необходимые вендорные префиксы CSS используя сервис CanIUse.com
- gulp-concat - Плагин для слияния файлов
- gulp-convert-encoding - плагин для перекодировки файлов
- gulp-imagemin - Плагин для минификации PNG, JPEG, GIF, SVG
- gulp-less - Компилятор CSS-препроцессора LESS
- gulp-load-plugins - Менеджер установленных плагинов Gulp
- gulp-minify-css - Плагин для минификации CSS
- gulp-minify-html - Плагин для минификации HTML
- gulp-notify - Плагин для вывода сообщений в консоль
- gulp-rename - Плагин для переименования файлов
- gulp-uglify - Плагин для минификации JS-файлов
- run-sequence - Плагин позволяет запускать задачи в любой последовательности как асинхронно, так и синхронно
Выполняемые задачи описаны в файле gulpfile.js
> gulp compile:css
Будут взяты все файлы LESS и CSS из папки /www/css/src, скомпилированы, объединены в один файл и помещены в /www/css/style.css.
> gulp minify:css
Все файлы *.css в папке /www/css будут сжаты и сохранены в эту же папку под своими именами с добавлением суффикса .min Уже сжатые файлы обрабатываться не будут.
> gulp compile:js
Будут взяты все JS-файлы (сперва основные вендорные зависимости) из папки /www/javascript/src, скомпилированы, объединены в один файл и помещены в /www/javascript/common.js
> gulp minify:js
Файл common.js в папке /www/javascript будет сжат и сохранен в эту же папку под своим именем с добавлением суффикса .min
> gulp minify:images
Будут взяты все картинки (JPG, GIF, PNG) из папки /www/images/src, минифицированы и помещены в /www/images
> gulp build
Будет выполнены все предыдущие задачи одним махом (компиляция и сжатие CSS, JS и изображений)
> gulp clean
Будут удалены: /www/css/style.css, /www/css/style.min.css, /www/javascript/common.js, /www/javascript/common.min.js
> gulp
Будет удалена предыдущая сборка, выполнится новая компиляция стилей, скриптов и картинок. При внесении изменений в стили или скрипты будет происходить их компиляция "на лету".
Также, при любых изменениях скриптов, стилей или шаблонов *.ftl, будет происходить авто-обновление окна браузера.
Для автоматического обновления окна браузера во время редактирования скриптов, стилей и шаблонов необходимо установить плагин LiveReload:
[Плагин для Google Chrome] (https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei)
[Плагин для Mozilla Firefox] (https://github.com/downloads/siasia/livereload-extensions/LiveReload-2.0.9.xpi)