4

コンパイル後にスタイルがWebサイトに追加されていないため、cssに問題があります。

dotlesscssにエラーを表示させるにはどうすればよいですか?通常の.lessは、非常に便利なメッセージを表示します。

4

2 に答える 2

5

これは、web.config を使用して非常に簡単に行うことができます。dotless 構成セクションに、次を追加します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>    
于 2012-05-17T19:20:44.880 に答える
4

今日、RequestReduceプロジェクトでこれに直面しました。イーサに入るように見える解析エラーがあったため、ブランクレス -> css 変換を取得していました。この関連する回答のおかげで、プログラムで .less を使用するときにエラーを出力するにはどうすればよいですか? エラーを応答ストリームに書き込むことができる解決策を見つけることができました。dotless.Core.Loggers.ILogger から派生するロガーを作成する必要があります。

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; }
}

これを EngineFactory に送信される構成に渡します。

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

単体テストの目的で、エラーを書き込む HttpResponseBase を渡したいと思いました。これは、ロガーへの参照を取得するための厄介なキャストで物事が醜くなっていると感じた場所です。

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

これがお役に立てば幸いです。

于 2011-12-09T17:33:22.733 に答える