在Magento2中交换SASS /删除以前添加的参数,以便在Magento2中通过di.xml键入

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

  •  13-12-2019
  •  | 
  •  

所以我正在调查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源文件,则根本不会触发从较少源的编译。

许可以下: CC-BY-SA归因
scroll top