在Magento2中交换SASS /删除以前添加的参数,以便在Magento2中通过di.xml键入
题
所以我正在调查Ben Mark的声明,它真的很容易切换出SASS的SASS预处理器更少的PHP。 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中添加到alertedingsource。我尝试添加一个带有相同项目名称的空节点,但这没有对我做的伎俩。
我可以只创建一个完全空的基本主题,没有任何无关的文件,而是糟透了,因为那么我也没有模板文件/布局,并且必须创建这些文件,并将它们保持最新。
当前进度: 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源文件,则根本不会触发从较少源的编译。