Почему Magento 2 использует PHP для компиляции меньшего количества файлов?


Чего я не понимаю, так это того, что, поскольку файлы .less уже будут скомпилированы во время разработки с помощью Grunt, почему Magento 2 все еще использует oyejorge/less для компиляции меньшего количества файлов с помощью PHP?

Кроме тем, есть ли еще где-нибудь в Magento, где используются css-файлы.less?

Author: Akif, 2016-10-20

2 answers

Короче говоря, это вопрос расширяемости. Как вы, возможно, знаете, вы умеете пользоваться.меньше файлов внутри пользовательских модулей. Давайте представим ситуацию, когда магазин использует какую-то пользовательскую тему, и в вашем расширении вы хотите сделать цвет некоторых элементов таким же, как цвет заголовка текущей темы, например:

section h1: {
    color: @heading-color
}

В этом случае ваш внутренний номер может использовать цвет заголовка, не зная точного цвета. Если у вас есть предварительно скомпилированный CSS в вашем расширении из коробки, у вас будет это цвет жестко закодирован, или вместо этого вам придется использовать набор CSS-классов стандартной темы. Таким образом, использование PHP БЕЗ компиляции Magento 2 позволяет более удобным и гибким способом интегрировать стороннее расширение в пользовательские темы.

 6
Author: Yaroslav Rogoza, 2016-10-20 16:09:58

В режиме разработчика МЕНЬШЕ компиляции происходит на лету, когда запрашивается ресурс, который еще не скомпилирован. Это работает только с PHP.

Также Magento добавляет свои собственные функции в LESS: //@magentoImport, который учитывает резервную версию темы и предварительно обрабатывается с помощью PHP, прежде чем произойдет фактическая компиляция LESS. Так что в любом случае нет способа обойти использование PHP. Задача Magento 2 Grunt фактически запускает компиляцию PHP через bin/magento.

 0
Author: Fabian Schmengler, 2016-10-20 18:50:02