Замечание меньше для SASS / удаления аргумента, ранее добавленного к типу через Di.xml в Magento2
Вопрос
Так что я расследующуюся претензию Бен Марка, который действительно легко выключить 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 будет успешно обработан, то компиляция от меньшего источника не будет запускаться вообще.