Magento 2: Как правильно использовать Grunt для изменений CSS


Я пытаюсь разобраться в clusterf-ck, который представляет собой интерфейсный рабочий процесс тематизации Magento 2. И я прочитал и понял всю документацию, прочитал все блоги об этом и в курсе последних событий. Я знаю, что вносить изменения в стили непросто, и именно по этой причине Magento решила внедрить Grunt, чтобы упростить этот процесс. Но вот где все идет не так;

Я использую grunt watch:theme; он регистрирует и компилирует все мои изменения просто прелесть. Но это не очищает файлы pub/static, поэтому никаких изменений не видно (другими словами, бесполезная функция?)

Затем есть grunt clean:theme, который очищает "все", чтобы применить внесенные изменения. Но всякий раз, когда я вношу изменения и использую эту команду, никаких изменений! Это работает только в сочетании с rm -rf var/cache/ var/generation/ var/page_cache/ var/view_preprocessed/ так в чем же здесь идея?

И когда я пытаюсь grunt less:theme Я получаю ошибку, которая является первой зацепкой, которая у меня была до сих пор, но я понятия не имею, что с ней делать;

Running "less:theme" (less) task
Destination pub/static/frontend/vendor/theme/en_EN/css/source/_extend.css not written because no source files were found.

Дополнительная информация; Я настроил дочернюю тему пустого значения по умолчанию, добавил свой _extend.меньше в папке vendor/theme/web/css/source/. Как было сказано ранее, grunt видит мои изменения, и в конечном итоге, если я использую grunt clean и удалю var, они будут применены. Но это действительно отнимает много времени, и я просто не могу поверить, что нет более быстрого способа сделать это. Я полагаю, что это как-то связано с упомянутой ошибкой. У кого-нибудь есть идея?

Author: Alex Timmer, 2016-06-22

2 answers

Я, наконец, понял это, как показано в этой теме. В то время, когда я опубликовал этот вопрос, моим главным достижением была ошибка ("..исходные файлы не найдены"). Это было решено путем запуска setup:static-content:deploy, потому что файлы, которые я связал в своей конфигурации Grunt, еще не были развернуты в папке pub/.

После решения этой проблемы я столкнулся с другой (конечно), что моя конфигурация Grunt увидит изменения и скомпилирует их, но они не отобразились. В конечном итоге это произошло из-за отсутствия родительского стиля (стиль-м) в моей конфигурации ворчания. Более подробная информация по этому вопросу приведена в ссылке на Github, упомянутой ранее.

 3
Author: Alex Timmer, 2016-07-12 21:09:55

Убедитесь, что вы работаете в режиме разработчика и выполняете компиляцию на стороне клиента для разработки. Когда вы работаете в обоих этих режимах, вам нужно только очистить pub/static и var/view_preprocessed, когда вы добавляете новый файл в свою тему, изменения будут внесены при обновлении страницы.

Если ваши изменения все еще не применяются, убедитесь, что Varnish не кэширует ваши файлы less, это одна из наших проблем.

 2
Author: Ben Crook, 2016-06-22 13:22:36