Шаблоном для начала работ над frontend проектами
Для работы шаблона необходимо установить nodejs (вместе с npm)
$ git clone https://github.com/tsergeytovarov/grunt-project.git project-name
$ cd project-name
$ npm installПо окончанию выполнения будут установлены все необходимые пакеты.
$ gulp js- сборка JS$ gulp less- компилиция LESS$ gulp fonts- копирование шрифтов$ gulp clean- очистка каталогаbuild/$ gulp webserver- запуск локального веб-сервера для livereload$ gulp build- полная сборка проекта$ gulp watch- запуск задачиwebserverи отслеживания изменений$ gulp default- запуск задачиwatch
src/- каталог для размещения рабочих файлов (html, less, js, изображения)build/- каталог для размещения готовой версткиdesign/- каталог для локального хранения файлов макета.
Вся работа осуществляется в каталоге src/.
Задача $ gulp less
Файл src/css/style.less является диспетчером подключений для всех прочих less-файлов.
Организация файлов проекта осуществляется по методологии MCSS.
При компиляции происходит объединение всех файлов, компиляция в CSS, форматирование стиля кодирования, добавление вендорных префиксов, минификация и запись sourcemaps.
Итоговые файлы стилевых таблиц помещаются в каталог build/css (style.css, style.min.css, style.min.css.map)
Задача $ gulp js
Файл src/js/vendor.js содержит все сторонние библиотеки и фреймворки. jQuery вшит автоматически.
Файл src/js/custom.js для написания собственных стилей.
При компиляции происходит объединение всех файлов, проверка на наличие ошибок (при этом исключаются из проверки файлы сторонних библиотек и проверяются только те, что написаны нами), минификация и запись sourcemaps.
Итоговый файл помещается в каталог build/js (main.js, main.min.js, main.min.js.map)
Задача $ gulp fonts
При обработке шрифты будут скопированы в каталог build/css/fonts.
Задача $ gulp clean
При выполнении задачи полностью удаляется содержимое каталога build/ за исключением файла build/.gitignore
Задача $ gulp build
При запуске задачи последовательно выполняются задачи clean, html, js, less, fonts.
В итоге выполнения в каталоге build/ формируется полная сборка проекта.
Задача $ gulp webserver
При выполнении задачи запускается локальный веб-сервер BrowserSync и открыватся index.html проекта.
Сервер использует каталог build/ в качестве корня проекта.
Задача $ gulp watch
При запуске сначала выполняется задача $ gulp webserver, затем при изменении или добавлении в каталоге src/ каких
либо файлов, автоматически запускается соответсвующая задача по их обработке.