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

1.96K
.
(\/)____o_O____(\/)
так я это давно на выходе через пхп делаю, арбузу все равно как читать, а файлы в норм виде лежат
.
Koenig, ну вот, а тут это делает grunt )
.
╭∩╮ (`-`) ╭∩╮
# Koenig (24.12.2016 / 15:19)
я одно понял, мне это не нужно, так как фронт мне по боку, но вот одна не ясность
например я пишу скрипты js и css
потом этот инструмент превращает мои обработки в набор криптографии для экономии ме
Ты неправильно понял, щас растолкую на пальцах...
---
Начнем с CSS.
Как ты знаешь, намного удобнее разбить большой CSS на логические фрагменты и работать с ними поотдельности, чем коматься в одном громадном файле в несколько тысяч строк кода.
Более того, удобнее использовать какой-нибудь компилирующий обработчик, типа LESS, или SASS.

Допустим ты отредактировал какие-то части кода, после, чтоб посмотреть в действии, тебе надо:

1) Скомпилировать из LESS/SASS j, CSS файл.

2) Как ты помнишь, для удобства мы все разбили на логические фрагменты, нам все это надо собрать в один файл.

3) Для совместимости крутых визуальных наворотов со всеми браузерами, нам надо добавить и поддерживать в актуальном состоянии вендорные префиксы.

4) Для продакшн сервера CSS файл желательно избавить от всех ненужнык каментов, пустых строк и т.д., как говорят "минимизировать" его, это общепринятая практика.

5) В случае mobiCMS, файл еще и имеет сжатую по GZ копию.

Вот представь себе. что ты подредактировал пару строк и тебе каждый раз придется выполнять всю эту цепочку действий?
Grunt делает все мгновенно.
.
╭∩╮ (`-`) ╭∩╮
То же самое и с JS.
Намного удобнее разбить все на отдельные составляющие и работать с ними. а перед использованием собирать воедино и минимизировать.
.
(\/)____o_O____(\/)
Delphinum, так я не вижу все равно преимущества над парами строк кода в пхп, ещё и что то ставить и настраивать, ну может мой вариант будет чуть тяжелее, на выходе будет все та же экономия трафика
.
Koenig, ну сжатие это пол дела, там же еще кучу операций нужно над этими файлами выполнить. Вон Альк написал что обычно входит в процесс сборки артефактов фронтенда.
.
(\/)____o_O____(\/)
Delphinum, ну теперь более ясно, то есть из кусочков один здоровый файл собирается и сжатая копия без лишнего.
мне одного файла хватит, ну или перед отдачи арбузу пхп все файлы в один собирёт
.
Koenig, ну grunt может не только для этого использоваться. У вас в JohnCMS Альк его для удаления ненужного из PHP зависимостей использует. По сути это просто сборщик, как какой нить make, только на JS и под него же заточена.

Лично я пользую rjs для сборки, так как не пишу на Less/Sass и он не требует какой либо настройки.
.
(\/)____o_O____(\/)
просто когда файлов много, их подключение занимает время генерации
я сделал проще, все прям в тело шапки заливал, при этом нет ни каких дополнительных запросов прочих файлов, можно даже картинки в base64 завернуть
.
╭∩╮ (`-`) ╭∩╮
# Koenig (24.12.2016 / 15:36)
Delphinum, ну теперь более ясно, то есть из кусочков один здоровый файл собирается и сжатая копия без лишнего.
мне одного файла хватит, ну или перед отдачи арбузу пхп все файлы в один собирёт
Опять ты не прав.
К примеру SASS компилятор, или Автопрефиксер это отдельные и весьма огромные модули, которые по объему своего кода в несколько раз превышают всеь наш двиг вместевзятый.
Всего: 58