Grunt для начинающих (johncms, mobicms)

1.59K
.
╭∩╮ (`-`) ╭∩╮
# Delphinum (24.12.2016 / 14:03)
AlkatraZ, а тебе действительно нужен grunt? Если ты не планируешь много JS и CSS (много в смысле какой нить Angular + Less), то лучше откажись от grunt, поверь, гемора будет больше чем пользы. Если т
Именно планирую, я же писал про mobiCMS, там это все активно используется.
Глянь сюды:
https://github.com/Gazenwagen/ ... -L334
https://github.com/Gazenwagen/ ... strap
Там компилируются/обрабатываются (вендорные префиксы) CSS, собирается воедино и минимизируется JS ну и т.д.

Для JohnCMS - это просто для облегчения сборки дистрибутива. Но главная задача - это Моби, именно там основное применение.
.
AlkatraZ, ну если есть на чем использовать, то круто ) Я раньше пользовал Grunt, сейчас перешли на Gulp, хз почему. Если скажешь об этом фронтендщикам, они обязательно зададут вопрос - а почему не WebPack, он же луТЧе?!

В общем статья полезная.
.
Блиносвёрт ?
gulp шустрее grunt'a, но они похожи, а вот webpack другая песня
.
╭∩╮ (`-`) ╭∩╮
# Delphinum (24.12.2016 / 14:10)
AlkatraZ, ну если есть на чем использовать, то круто ) Я раньше пользовал Grunt, сейчас перешли на Gulp, хз почему. Если скажешь об этом фронтендщикам, они обязательно зададут вопрос - а почему не We
Я раньше, еще до Grunt, когда только начинал работать с LESS, сразу встал вопрос об удобном компиляторе. Начинал с WinLESS, но тупо и неудобно. Потом использовал встроенные возможности PhpStorm, что уже было намного удобнее.
Ну и под конец, когда задачи сильно расширились, а рутинных операций было "тыщщи их", я озаботился поиском удобного инструмента. Точнее про Grunt я слышал и читал, и тут созрел момент практического его освоения.

Ну а когда освоился, понял, что это очень гибко и удобно, экономит кучу времени и избавляет от многих ошибок (это я еще на Моби тестирования и прогон по валидаторам не активировал, а так вообще жесть)..
.
╭∩╮ (`-`) ╭∩╮
# Jane (24.12.2016 / 14:15)
gulp шустрее grunt'a, но они похожи, а вот webpack другая песня
Информация устаревшая.
Об этом ныли на Хабре, когда еще пару лет назад, Грунт завис в своей 0.4 версии.
Но на данный момент он уже год как перешагнул 1..х.х версию и активно развивается.

В силу своей потоковости Gulp в некоторых случаях действительно может быть быстрее, но для Grunt в десятки раз больше дополнений, да и сам конфиг его проще и понятнее.
.
AlkatraZ, у меня был унаследованный проект на Angular + Laravel, так тамошняя конфига Gulp'а так вогнала нашего верстальщика в уныние, что мне пришлось ее полностью переписать, с тех пор я так себе отношусь к frontend сборщикам ))
.
╭∩╮ (`-`) ╭∩╮
# Delphinum (24.12.2016 / 14:23)
AlkatraZ, у меня был унаследованный проект на Angular + Laravel, так тамошняя конфига Gulp'а так вогнала нашего верстальщика в уныние, что мне пришлось ее полн
Да, правильное замечание.
У Gulp конфигурация очень запутаная, точнее рассчитанная на опытного JS разработчика.
А у Grunt все довольно просто, может разобраться и дизайнер и РНР кодер.
.
Блиносвёрт ?
грант проще и инфы по нему больше, с этим согласна, хотя у меня и правда инфа годичной давности, а последний год мы просто используем галп
.
Jane, у себя на проектах мы вообще решили отказаться от локальных сборщиков. Я просто реализовал модель JS так, чтобы она работала без сборки локально, и со сборкой на проде, Less же компилится встроенным инструментом IDE, используемой верстальщиком. Прод сборка выполняется при деплое на сервере. Выиграли в том, что ничего нигде запускать не надо, никакого watch и подобного, просто пишешь и все работает. Верстальщики и фронтендщики довольны.
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
# Jane (24.12.2016 / 14:34)
грант проще и инфы по нему больше, с этим согласна, хотя у меня и правда инфа годичной давности, а последний год мы просто используем галп
Я начал использовать Grunt несколько лет назад, когда еще Gulp и в помине не было.
Потом читал холиварные статьи на Хабре на тему "что лучше" и т.п. Разумеется задумывался, а может...?

Но потом раскинул мозгами и взвесил все ЗА и ПРОТИВ:

1) Полезных модулей для Грунта было несравненно больше, хотя ради справедливости надо отметить, что нужные мне модули были и для Gulp, (Grunt +1)

2) Я не являюсь профессиональным JS разработчиком и конфигурация Grunt для меня намного проще и понятнее, хотя при большом желании можно разобраться и с Gulp (Grunt +10)

3) Пишут, что Gulp быстрее за счет того, что работает в потоковом режиме (Gulp +1).

Но тут надо не тупо читать (причем не понимая сути) чужие холивары, а вдуматься, используется ли многопоточность в моей конкретной конфигурации? Давайте заглянем в конкретный конфиг задачи JohnCMS 7^ https://github.com/john-cms/jo ... -L136

Мы видим, что первой задачей в пакете стоит clean:dist
Это удаляется (если есть) старый дистрибутив перед созданием нового.
Ни о какой многопоточности тут речь не может идти. На скорость удаления файла влияет сама операционная система и особенно жесткий диск.
Вердикт: многопоточность не используется

Второй задачей в пакете стоит copy:distributive
Это мы копируем файлы проекта во временный каталог пред ЗИП сжатием.
Как и выше, это работа с файлами и скорость зависит от Оси и харддиска.
Вердикт: многопоточность не используется
Более того, мы не можем запустить эту задачу параллельно с вышеуказанной и должны ждать ее выполнения.

Третья задача compress:dist это мы сжимаем файлы в ZIP архив.
Опять таки, ни Grunt ни Gulp не имеют к этому никакого отношения, а просто запускают архиватор.
Вердикт: многопоточность не используется

Ну и как общее резюмэ: в нашем случае Gulp не дает никакого преимущества в скорости.
А принимая во внимание вышеописанные преимущества Grunt, мое решение остаться на нем и не скакать по новомодным штучкам было логичным
Всего: 58