2011-10-22 1 views

답변

5

web.config로이 작업을 매우 쉽게 할 수 있습니다. 무딘 구성 섹션에서 다음을 추가하십시오 : logger="dotless.Core.Loggers.AspResponseLogger". 이렇게하면 빈 CSS 대신 오류없이 점선으로 출력됩니다.

다음은 예제로 포함되었습니다. ("..."은 web.config의 기존 항목을 나타냅니다.) 아래 예제에서 캐시는 false로 설정됩니다. 이는 디버깅 목적으로 유용합니다. 정상적인 상황에서는 아마 true로 설정되어야합니다.

<configuration>  
    <configSections> 
      ... 
      <section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler,dotless.Core" /> 
     </configSections> 

     <dotless minifyCss="false" cache="false" 
      logger="dotless.Core.Loggers.AspResponseLogger" /> 
     ...  
</configuration>  
+1

이것은 항상 작동하지 않습니다. Less.js가 작동하더라도 여전히 빈 CSS를 얻습니다. 번들 및 축소 기능을 사용하고 있습니다. –

+1

이 기능은 저에게 효과적이지 않습니다. Chrome의 네트워크보기 (상태 : 취소됨)에 일부 파일에 오류가 있거나 일부 파일이 비어 있거나 일부 파일이 빨간색으로 표시됩니다. –

4

오늘 내 RequestReduce 프로젝트에서 방금 직면했습니다. 나는 공백을 덜 얻고 있었다. -> css 변환은 에테르로 들어가는 것처럼 보이는 파싱 오류가 있었기 때문이다. 덕분에이 관련 답변 How can I output errors when using .less programmatically? 나는 응답 스트림에 오류를 쓸 수있는 해결책을 찾을 수있었습니다. 내가 원하는 단위 테스트를 위해

  var engine = new EngineFactory(new DotlessConfiguration 
               { 
                CacheEnabled = false, 
                Logger = typeof (LessLogger) 
               } 
       ).GetEngine(); 

가에서 통과 : 당신은 EngineFactory로 전송되는 구성이 점을 통과

public class LessLogger : ILogger 
{ 
    public void Log(LogLevel level, string message) 
    { 
    } 

    public void Info(string message) 
    { 
    } 

    public void Debug(string message) 
    { 
    } 

    public void Warn(string message) 
    { 
    } 

    public void Error(string message) 
    { 
     Response.Write(message); 
    } 

    public HttpResponseBase Response { get; set; } 
} 

: 당신은 dotless.Core.Loggers.ILogger에서 derriving 로거를 만들어야합니다 오류를 작성하는 내 HttpResponseBase. 나는 이것이 당신을 도움이되기를 바랍니다

  ((LessLogger)((LessEngine)((ParameterDecorator)engine).Underlying).Logger).Response = response; 

: 내 로거에 대한 참조를 얻기 위해 성가신 캐스팅과 추악한 점점 일을 생각하는 곳이다.