Sass에 대한 Less 교환 / Magento2에서 di.xml을 통해 이전에 유형에 추가된 인수 제거

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

  •  13-12-2019
  •  | 
  •  

문제

그래서 저는 Sass용으로 PHP Less 전처리기를 전환하는 것이 정말 쉽다는 Ben Mark의 주장을 조사하고 있습니다. 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 파일로 처리합니다(아직 최고의 PHP 라이브러리를 사용하지 않지만 나중에 변경할 수 있으니 걱정하지 마세요).

그러나 더 이상 .less 파일이 전처리되는 것을 원하지 않습니다.이미 유형에 추가된 di.xml을 통해 인수를 제거할 수 있습니까?이 경우 Magento/Developer/etc/di.xml의 AlternativeSource에 더 적은 양이 이미 추가되었습니다.동일한 항목 이름을 가진 빈 노드를 추가하려고 시도했지만 별 효과가 없었습니다.

물론 .less 파일이 전혀 없는 완전히 빈 기본 테마를 만들 수도 있지만 그러면 템플릿 파일/레이아웃도 없고 이를 만들고 최신 상태로 유지해야 하기 때문에 짜증납니다.

현재 진행상황 : https://github.com/TheExtensionLab/Magento2Sass

우리가 이것을 할 수 있다면 현재도 .less이지만 우리가 도달하면 그 다리를 건너는 관리 스타일 문제도 제기됩니다.

또는 .less 파일의 오버헤드 없이 빈 테마의 테마와 템플릿을 사용하는 다른 방법이 있다면 저는 귀를 기울일 것입니다.

도움이 되었습니까?

해결책

다른 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