1

変数のいずれかを dotless または mixin で呼び出すと、結果の CSS ファイルは空になります。

私のセットアップは次のとおりです。

  1. 他のすべてのドットレス ベースの css ファイルをインポートするインポート ファイルがあります。
  2. 最初のインポートは変数です
  3. 2 番目のインポートは mixins (メソッド) です
  4. 必要な他のファイルが続きます

したがって、ファイル00.1.import.lessには次の内容が含まれます。

@import "00.2.variables";
@import "00.3.methods";
@import "00.4.init";
@import "01.1.html";

結果のリンクを新しいタブにコピーすると、次のように表示されます。

variable @background-dark is undefined on line 24 in file '/Content/00.1.import.less':

 [23]: @import "11.1.p";
 [24]: @import "13.1.a";
       ---------------^
 [25]: @import "13.2.a-login";

奇妙なことに、その行はまさにインポート行です。そのファイルは、変数やミックスインをまったく使用しません。次のファイルも同様です。現在、変数/ミックスインを1つのファイルでテストしています。

F5 を押すと、次の例外が発生します。

Value does not fall within the expected range.

Stack Trace:    

[ArgumentException: Value does not fall within the expected range.]
   System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) +0
   System.Web.Hosting.IIS7WorkerRequest.SetKnownResponseHeader(Int32 index, String value, Boolean replace) +150
   System.Web.HttpHeaderCollection.SetHeader(String name, String value, Boolean replace) +219
   System.Web.HttpHeaderCollection.Add(String name, String value) +23
   System.Web.HttpResponse.AppendHeader(String name, String value) +189
   System.Web.HttpResponseWrapper.AppendHeader(String name, String value) +16
   dotless.Core.Response.CssResponse.HandleCompression() +646
   dotless.Core.Response.CssResponse.WriteCss(String css) +79
   dotless.Core.Loggers.AspResponseLogger.Log(String message) +50
   dotless.Core.Loggers.Logger.Log(LogLevel level, String message) +80
   dotless.Core.Loggers.Logger.Error(String message) +43
   dotless.Core.LessEngine.TransformToCss(String source, String fileName) +562
   dotless.Core.ParameterDecorator.TransformToCss(String source, String fileName) +420
   dotless.Core.HandlerImpl.Execute() +152
   dotless.Core.LessCssHttpHandler.ProcessRequest(HttpContext context) +123
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

変数の問題例: 宣言

@background-dark: #404040;

利用方法

div#top
{
    height:125px;
    border-top: 2px solid #158fa6;
    background:@background-dark;
}

これは私が何をしても失敗します。

私がどこで間違っているか知っている人はいますか?

4

2 に答える 2

0

ジャック、

まず、これは説明ほど答えではありません。

私と同じコンパイル、バンドル、最小化の順序の問題が発生しているようです。

Dotless - MVC バンドルを使用して別のファイルで less 変数を参照できない

私が抱えていて解決しようとしている問題は、変数とミックスインを別々のファイル (参照される前に含まれている) で参照していて、それらが見つからないことです。ファイルのコンパイルは個別に処理されるため、コンパイル中のファイルは以前にコンパイルされたファイルを認識しません。この場合、dotless はバンドルされるコンテンツを返しません。

手動でバンドルしてから縮小するプロセスメソッドにいくつかの異なる変更を書きましたが、ドットレスには、参照する物理ファイル名なしでコンパイルするための機能的な方法がないようです。

私がここから離れている場合はお知らせください。

于 2012-11-16T21:48:31.957 に答える
0

2 つの問題があるようです。まず、これはスタック オーバーフローではなくhttp://github.com/dotless/dotlessに報告する必要がありますが、とにかく続行します。

キャッシングの問題は、ヘッダーを設定する例外のようです。これまで見たことがなく、何が問題なのかを調査する必要があります。

変数の問題は、インポートされたファイルのエラーを正しく報告しなかった 1.3.0.5 より前のバグに苦しんでいる可能性があります。1.3.05 を使用していない場合は、アップグレードしてからもう一度お試しください。

于 2012-07-26T12:17:08.397 に答える