Замечание меньше для SASS / удаления аргумента, ранее добавленного к типу через Di.xml в Magento2

magento.stackexchange https://magento.stackexchange.com//questions/90960

  •  13-12-2019
  •  | 
  •  

Вопрос

Так что я расследующуюся претензию Бен Марка, который действительно легко выключить PHP менее предварительно процессор для Sass One. https://twitter.com/benmarks/status/590219053437833217 (я не покупаю его)

Я внедрил препроцессор Sass и добавил в нее через di.xml, как показано ниже:

<type name="Magento\Framework\View\Asset\PreProcessor\AlternativeSource">
    <arguments>
        <argument name="alternatives" xsi:type="array">
            <item name="scss" xsi:type="array">
                <item name="class" xsi:type="string">TheExtensionLab\SassPreProcessor\PreProcessor\Adapter\Sass\Processor</item>
            </item>
        </argument>
    </arguments>
</type>
.

Что теперь обрабатывает мои файлы .sass в файлы .css (Mabey не использует лучший PHP Libary, но никакие заботы не могут изменить это позже).

Однако я больше не хочу преподаваться беспроценечными файлами. Можно ли удалить аргумент через di.xml, который уже добавлен в тип? В этом случае меньше уже добавлено в альтернативные организации в Magento / Developer / etc / di.xml. Я пытался добавить пустой узел одним и тем же именем элемента, но это не сделало для меня трюком.

Я мог бы просто создать совершенно пустую тему базовой темы, в которой нет никаких файлов, но это отстой, потому что тогда у меня также не будет шаблонов файлов / макетов, и придется создать их и поддерживать их в курсе.

Текущий прогресс: https://github.com/theextensionlab/magento2sass

Если мы сможем сделать это, то это также вызывает проблему стилей администратора, которые в настоящее время также бессмыслены, но пересекают этот мост, когда мы придем это.

Или, если есть альтернативный способ сделать это не иметь накладных расходов файлов бессон, но и у моей темы и шаблонов из пустой темы, я все уши.

Это было полезно?

Решение

Вы не можете удалить аргумент, объявленный в другом файле di.xml.

Но похоже, что версия кода из вашего примера немного старая.

в текущей версии (2.0.0), вы можете контролировать порядок сортировки альтернатив:

<virtualType name="AlternativeSourceProcessors">
    <arguments>
        <argument name="alternatives" xsi:type="array">
            <item name="scss" xsi:type="array">
                <item name="class" xsi:type="string">TheExtensionLab\SassPreProcessor\PreProcessor\Adapter\Sass\Processor</item>
            </item>
            <item name="less" xsi:type="array">
                <item name="after" xsi:type="string">scss</item>
            </item>
        </argument>
    </arguments>
</virtualType>
.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top