dotless在任何变量或mixins(函数)上失败。变量@ background-dark未定义

时间:2012-07-26 11:48:14

标签: dotless

如果我在无点或mixins中调用我的任何变量,则生成的CSS文件为空。

我的设置如下:

  1. 我有一个导入文件导入我所有其他无网点的CSS文件
  2. 第一个导入是变量
  3. 第二个导入是mixins(方法)
  4. 跟随我需要的任何其他文件
  5. 因此文件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";
    

    奇怪的是,这条线只是一条输入线。该文件根本不使用任何变量或mixin。下一个文件也没有。目前我正在测试一个变量/ mixin单个文件。

    如果我点击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;
    }
    

    无论我做什么,都会失败。

    任何人都知道我哪里出错了?

2 个答案:

答案 0 :(得分:0)

似乎有两个问题。首先应该向http://github.com/dotless/dotless报告,而不是堆栈溢出,但无论如何我都会继续。

缓存问题似乎是设置标题的例外 - 我以前没有看到它,它需要调查以找出问题所在。

变量问题可能是我们在1.3.0.5之前遇到的错误,它没有正确报告导入文件中的错误。如果您不在1.3.05,请升级并重试。

答案 1 :(得分:0)

雅克,

首先,这不是解释的答案。

您似乎遇到了相同的编译,捆绑,缩小订单问题。

Dotless - Can't reference less variable in separate file with MVC Bundling

我遇到的问题是,我正在尝试解决这个问题,即我在单独的文件中引用变量和mixins(在被引用之前包含),并且找不到它们。由于文件编译是单独处理的,因此正在编译的文件不知道以前编译的文件。在这种情况下,无点返回没有要捆绑的内容。

我已经对流程方法编写了几个不同的修改来手动捆绑然后缩小,但是如果没有要引用的物理文件名,dotless似乎没有用于编译的功能方法。

如果我不在这里,请告诉我。