Порой очень лениво и сложно выполнять одни и те же задачи раз за разом. Согласитесь, пару раз проверить проект линтом, сделать сборку и минифицировать ее можно руками, но если делать это постоянно… Не самый лучший вариант. Для таких задач существуют специальные инструменты, автоматизирующие долгий и нудный процесс. Знакомтесь - Grunt!
Установка
Прежде чем ставить Grunt, убедитесь, что у вас установлен Node.js. Если не установлен - следуйте данной ссылке, после чего можно перейти к процессу установки Grunt’a.
Следует заметить, что хоть данная команда подготавливает к использованию команду grunt
, сам Grunt еще не установлен.
Также я установил grunt-init
, который позволяет быстро и легко инициализировать проект по некоторому заданному шаблону:
Далее нужно перейти в папку .grunt-init
(На Windows у меня c:/Users/User/.grunt-init
), и там установить шаблон, например шаблон нового npm-модуля:
Создание проекта
Так как я сразу поставил утилиту инициализации нового проекта, мне не придется руками прописывать всю информацию в Gruntfile.js
, я всего лишь выполню grunt-init node
. После чего мне будет создан проект со следующей структурой (может отличаться):
Как видим, всю работу мы проводим в File.js
, тесты пишем в File_test.js
, конфигурируем проект в package.json
, настраиваем Grunt в Gruntfile.js
и так далее.
Запуск
В папке проекта сначала нужно выполнить локальную установку Grunt:
Затем уже можно выполнять grunt
. Если система сообщает об отсутствии каких-то компонентов, нужно их также установить, например:
Добавление задач
Так как Grunt работает в первую очередь с задачами, стоит научиться их конфигурировать и создавать. В качестве примера добавим минификацию готового проекта. Данную задачу решает grunt-contrib-uglify
из примера выше. Так как командой из примера выше мы уже узнали, как ставить локально новые зависимости, мы можем перейти непосредственно к редактированию Gruntfile.js
. Добавим задачу:
Затем сконфигурируем:
Добавляем задачу в набор задач, выполняемых по умолчанию:
Если все сделано верно, при следующем запуске grunt
мы получим на выходе минифицированный файл проекта.
Заключение
Если ваш проект еще не настроен для работы с средствами автоматической сборки, менеджерами задач, лучше это сделать сейчас. Таким образом получится сэкономить много времени, которое, вместо того, чтобы быть потраченым на ненужные мелочи, будет потрачено с толком и гораздо большей пользой.