Sass에서 책임감있게 @error를 사용합니다
키 포인트
SASS의
지침은 문제가 발생할 때 저자 입력을 제어하고 오류를 던지는 강력한 도구이며, 이는 컴파일러 고장을 허용하는 것보다 더 효과적입니다.- 지시문을 사용할 수 있습니다. 오류가 발생하면 컴파일러가 여전히 충돌하는지 확인하기 위해 하이브리드 매크로를 생성하여 경고 후 컴파일 오류를 트리거 할 수 있습니다.
@error
기능은 - 가 지원되는지 확인하는 데 사용될 수 있습니다. 지원되지 않으면
@error
지시문을 사용한 다음 문이없는 함수를 사용하여 컴파일러를 충돌시킵니다.@warn
기능은 다른 기능 내에서 사용할 수 있으며 하이브리드 매크로는 다른 곳에서 사용될 수 있으므로 책임감있게 오류를 던질 수 있습니다. 이를 통해 다양한 버전의 SASS에 대한 효율적인 오류 관리가 가능합니다. -
feature-exists('at-error')
Ruby Sass 3.4 및 Libsass 3.1 이후 지침을 사용할 수 있습니다. 이 지침은@error
와 유사하며 실행 프로세스를 종료하고 현재 출력 스트림 (아마도 콘솔)에 사용자 정의 메시지를 표시하도록 설계되었습니다.@warn
말할 필요도없이,이 기능은 저자의 입력을 제어하고 문제가 발생할 때 오류를 던지기 위해 SASS 논리를 포함하는 기능과 혼합 매크로를 구축 할 때 매우 유용합니다. 이것이 컴파일러가 실패하게하는 것보다 낫다는 것을 인정해야합니까? @return
<.> 모든 것이 좋습니다. SASS 3.3을 제외하고는 여전히 널리 사용됩니다. Sass 3.2는 일부 장소에서도 사용됩니다. 특히 대규모 프로젝트에서 SASS를 업데이트하는 것은 쉽지 않습니다. 때로는 제대로 작동하는 것을 업데이트하기 위해 시간과 예산을 소비하는 것이 불가능합니다. 이러한 이전 버전의 경우 는 의미가 없으며 사용자 정의 - 로 간주되며, 이는 전진 호환성 이유로 SASS에서 완전히 허용됩니다.
log
글쎄, 이것은 우리가 최신 SASS 엔진 만 지원하기로 결정하지 않으면 log
를 사용할 수 없다는 것을 의미합니까? 글쎄, 당신은 방법이 있다고 상상할 수 있습니다.
@error
를 지원하면 사용하겠습니다. 그렇지 않으면 를 사용합니다. @warn
는 컴파일러가 계속 실행되는 것을 막지 않지만 경고 후 컴파일 오류를 트리거하여 컴파일러가 완전히 충돌하도록 할 수 있습니다. 즐기십시오, 당신은 종종 끊임없는 것을 파괴 할 필요가 없습니다.
빌드 로거 @error
따라서 우리의 하이브리드 매크로는 래퍼 일 뿐이므로 또는 와 정확히 동일한 방식으로 작동합니다. 따라서 하나의 매개 변수 만 있으면됩니다. at-directive
<code>@include log('哎呀,你刚才的操作出了问题!');</code>
지원을 확인할 것인지 스스로에게 물어볼 수 있습니다. 처음에, 나는 버전 스니핑과 관련된 서투른 솔루션을 생각해 냈지만 그것은 끔찍했습니다. 또한 Sass Core 디자이너가 모든 것을 고려하여 @error
열쇠를 feature-exists(...)
함수에 소개 한 똑똑한 사람들이라는 사실을 완전히 간과하여 함수가 지원되는지 여부를 반환합니다. at-error
<code>@mixin log($message) { ... }</code>
진실 feature-exists(...)
문자열로 평가됩니다. feature-exists('at-error')
를 추가함으로써 SASS 3.2 가이 조건을 입력하지 않고 버전으로 이동해야합니다.
@warn
@return
<code>@mixin log($message) { @if feature-exists('at-error') == true { @error $message; } @else { @warn $message; } }</code>
noop
와 함께 사용할 때 의미가 있으므로 Null 조건을 사용해 봅시다. Noop 기능을위한 Noop 조건.-
$_: noop()
좋아요! 이전 코드로 테스트 해 봅시다 : - 다음은 libsass입니다 :
crash: noop()
다음은 SASS 3.4 : 입니다 -
@if noop() {}
이것은 작동하는 것 같습니다! 모든 엔진, 이전 엔진조차도 컴파일러가 종료됩니다. 를 지원하는 엔진에서는 즉시 오류 메시지를 받게됩니다. 지원되지 않는 엔진에서는 메시지를 경고로받은 다음 Noop 기능으로 인해 컴파일을 충돌시킵니다. - 함수 내부에 로그를 녹음 할 수 있습니다
@error
at-directive
<.> 공정하다. 이것은 우리가 더 이상 누프 해킹이 필요하지 않다는 것을 의미합니다. 지원되지 않는 엔진은 우리가 강제로 강제하지 않고 충돌하기 때문입니다. 비록 우리는 메시지가 충돌하기 전에 저자의 콘솔에 인쇄되도록 프로세스 위에
그런 다음 더러운 널 조건과 더미 가변 해킹보다 더 친숙한 API를 얻기 위해 하이브리드 매크로를 제공 할 수 있습니다.
최종 생각 @warn
위 내용은 Sass에서 책임감있게 @error를 사용합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

요소 수가 고정되지 않은 경우 CSS를 통해 지정된 클래스 이름의 첫 번째 자식 요소를 선택하는 방법. HTML 구조를 처리 할 때 종종 다른 요소를 만듭니다 ...

플렉스 레이아웃의 보라색 슬래시 영역에 대한 질문 플렉스 레이아웃을 사용할 때 개발자 도구 (d ...)와 같은 혼란스러운 현상이 발생할 수 있습니다.

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

프론트 엔드 개발에서 Windows와 같은 구현 방법 ...

타탄은 일반적으로 스코틀랜드, 특히 세련된 킬트와 관련된 패턴의 천입니다. tartanify.com에서 우리는 5,000 개가 넘는 타탄을 모았습니다
