1

如果我以 dotless 或 mixins 的形式调用任何变量,则生成的 CSS 文件为空。

我的设置如下:

  1. 我有一个导入文件,它导入我所有其他基于 dotless 的 css 文件
  2. 第一个导入是变量
  3. 第二个导入是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";

奇怪的是,那条线就是这样,一条导入线。该文件根本不使用任何变量或混合。下一个文件也没有。目前我正在测试一个变量/混合一个文件。

如果我按 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

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

缓存问题似乎是一个异常设置标头 - 我以前没有看到过,它需要调查以找出问题所在。

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

于 2012-07-26T12:17:08.397 回答
0

雅克,

首先,这与其说是解释不如说是答案。

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

Dotless - 无法使用 MVC 捆绑在单独的文件中引用较少的变量

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

我已经对 process 方法进行了一些不同的修改,以手动捆绑然后缩小,但 dotless 似乎没有一种功能方法可以在没有物理文件名可供参考的情况下编译 less。

如果我不在基地,请告诉我。

于 2012-11-16T21:48:31.957 回答