Skip to content

Latest commit

 

History

History
74 lines (53 loc) · 4.05 KB

grunt.md

File metadata and controls

74 lines (53 loc) · 4.05 KB

Использование Grunt

Предполагается, что Grunt - знакомая система сборки. Если нет, то сначала следует прочитать официальную документацию.

Краткий обзор

Все основные таски прокомментированы в основном файле – Gruntfile.js. Grunt-конфиг для плагинов вынесен из Gruntfile.js в отдельные файлы (используется load-grunt-config). На каждый плагин приходится свой файл, см. папку grunt/config. Остальные, специфичные для проекта SLCF, штуки также можно найти в папке grunt. Помимо конфигурационных файлов там лежит папка slcf-tools с техническими тасками и SLCF-хэлпером, который используется стандартными плагинами. Также, в папке grunt, по ходу работы сборщика появляется папка newer-cache, содержащая кэш плагина grunt-newer.

Grunt-задачи при работе над проектом

Можно выделить два режима работы над проектом: продолжительная работа и точечные исправления. Каждому режиму соответствуют свои задачи.

При большом количестве правок следует запускать ватчер:

$ grunt watch

Ватчер отслеживает изменения файлов страниц и изменения файлов стилей разных технологий в проектных бандлах, а также изменения специального бандла __assets. (см. grunt/config/watch.js). Если эти файлы были добавлены или изменены, ватчер запускает соответствующие таски для сборки.

Таски, которые выполняются по событиям ватчера, изменяют только dev-версии конечных файлов.

После того, как работа с кодом завершена и протестирована, можно собирать production-версию конечных файлов. Для этого можно использовать дефолтную таску Grunt:

$ grunt

Важным моментом работы сборщика является использование grunt-newer для сборки страниц. Однако кэш newer-a не всегда может быть актуальным, поскольку не учитывает изменения в шаблонах. Кроме того из проекта могут удаляться некоторые файлы или страницы, а значит необходимо удалять и соответствующие конечные файлы в code.

Для очистки всех генерируемых файлов следует использовать:

$ grunt cleanProject

Очистить только часть, например, кэш newer-a, можно используя таргеты для clean из конфига (см. grunt/config/clean.js).

$ grunt clean:newerCache

Для сборки всего проекта используется:

$ grunt buildProject

Для точечных правок стилей вместо того, чтобы запускать ватчер, можно поправить код и запустить пересборку всех стилей:

$ grunt buildProjectStyles

Подробнее о сборке стилей