GRUNT
Grunt — менеджер завдань (task runner) для автоматизації фронтенд розробки. Він працює з Node.js і його менеджером пакетів NPM, і спрощує завдання стиснення CSS файлів, Javascript і HTML, а також компіляцію Sass і Less.
Головне призначення Grunt — допомагати фронтенд-розробникам із рутинними завданнями. Зокрема, стисненням CSS і мініфікацією JavaScript, а ще оптимізацією зображень. Це потрібно зробити, щоб зменшити вагу сайту і прискорити його завантаження, а в Grunt вже є готові плагіни для цих завдань. Крім них, можна знайти або написати з нуля модулі, які будуть спостерігати за станом файлів. Такі плагіни моніторять зміни в обраних файлах та папках, і за виконання заданої умови, виконують відповідні їм завдання. Це можна використовувати, наприклад, під час оновлення Sass, щоби кожна зміна автоматично була надіслана в CSS. До речі, якщо водночас використовувати ще і LiveReload, то не потрібно буде навіть оновлювати браузер, щоби побачити зміни.
Grunt — універсальний інструмент, який об’єднує в собі модулі для виконання поширених завдань. Кожну з них можна вирішити окремо іншими інструментами, але загальний менеджер, який автоматично запускається й доступний всій команді проєкту — набагато зручніше. Тим більше, що в ньому вже є тисячі готових плагінів для різних ситуацій. Використання менеджера значно прискорює рутинні завдання, залишаючи час на дійсно творчі та нестандартні. Усе, що потрібно вашим розробникам — витратити трохи часу на створення завдань і конфігураційних файлів для них, які потім будуть викликатися однією командою.
Користуватися вже встановленим і налаштованим Grunt зможе навіть початківець верстальник. Для роботи з Grunt фронтенд розробнику зовсім не обов’язково буде знати Node.js і вивчати особливості інтерфейсу. Достатньо написати потрібне слово в командному рядку. І навіть це можна автоматизувати ще більше. Наприклад, налаштувати автоматичний запуск потрібних завдань за правилами, якщо змінюється код JavaScript, додаються зображення й так далі. До речі, для тих, кому не подобається робота через командний рядок, є Gulp — буквально той же таск менеджер, тільки завдання описуються не як файли конфігурації, а більш звичним для фронтенд-розробників JavaScript.
Перерахованими вище функціями можливості Grunt не обмежуються. Менеджер можна використовувати для об’єднання файлів, наприклад, того ж JavaScript. Він відмінно підходить для написання юніт-тестів і пошуку помилок у коді, а також десятків інших завдань. Досить подивитися на сторінку Grunt на GitHub і пошукати там рішення для свого проєкту.
Grunt — одне з необов’язкових, але дуже корисних доповнень для середовища виконання JavaScript. Якщо не стискати CSS файли, Javascript і HTML, а також зображення — сайт буде дуже важким і повільно працювати. Це можна зробити вручну, але економія часу, у тому числі на пошук помилок, в порівнянні з роботою без менеджера — просто величезна.
Grunt робить фронтенд-розробку простіше для кожного, хто залучений до проєкту, і всієї команди в цілому, а результат більш передбачуваним і стабільним.