我提取了这段较少的代码,这导致Web应用程序在运行异步任务以编译较少的代码时引发错误。从我对文档的最初阅读之前,我从未写过更少的文章,似乎还没发现什么地方出了问题。有人知道怎么了吗?
这是错误:

ParseError: Unrecognised input in /Users/****/Desktop/testmoreless.css on line 4, column 3:
3
4   .core (@gridColumnWidth, @gridGutterWidth) {
5


这是整个代码段:

#grid {

  .core (@gridColumnWidth, @gridGutterWidth) {

    .spanX (@index) when (@index > 0) {
      (~".span@{index}") { .span(@index); }
      .spanX(@index - 1);
    }
    .spanX (0) {}

    .offsetX (@index) when (@index > 0) {
      (~".offset@{index}") { .offset(@index); }
      .offsetX(@index - 1);
    }
    .offsetX (0) {}

    .offset (@columns) {
      margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
    }

    .span (@columns) {
      width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
    }

    .row {
      margin-left: @gridGutterWidth * -1;
      .clearfix();
    }

    [class*="span"] {
      float: left;
      margin-left: @gridGutterWidth;
    }

    // Set the container width, and override it for fixed navbars in media queries
    .container,
    .navbar-fixed-top .container,
    .navbar-fixed-bottom .container { .span(@gridColumns); }

    // generate .spanX and .offsetX
    .spanX (@gridColumns);
    .offsetX (@gridColumns);

  }

  .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {

    .spanX (@index) when (@index > 0) {
      (~"> .span@{index}") { .span(@index); }
      .spanX(@index - 1);
    }
    .spanX (0) {}

    .span (@columns) {
      width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
    }

    .row-fluid {
      width: 100%;
      .clearfix();
      > [class*="span"] {
        float: left;
        margin-left: @fluidGridGutterWidth;
      }
      > [class*="span"]:first-child {
        margin-left: 0;
      }

      // generate .spanX
      .spanX (@gridColumns);
    }

  }

  .input(@gridColumnWidth, @gridGutterWidth) {

    .spanX (@index) when (@index > 0) {
      (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); }
      .spanX(@index - 1);
    }
    .spanX (0) {}

    .span(@columns) {
      width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10;
    }

    input,
    textarea,
    .uneditable-input {
      margin-left: 0; // override margin-left from core grid system
    }

    // generate .spanX
    .spanX (@gridColumns);

  }

}

最佳答案

看看这个answer

逐字引用答案:



这是文件最初的内容:

(~".span@{index}") { .span(@index); }


阅读LESS change log之后,我发现它们更改了语法,因此您现在可以直接使用变量,而无需〜hack。因此,我将mixin.less更改为如下形式:

.span@{index} { .span(@index); }


您还需要更改其他几行,但是它们都遵循相同的格式。

(~".offset@{index}") { .offset(@index); }更改为→.offset@{index} { .offset(@index); }

关于css - 为什么这段较少的代码无法编译?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25633633/

10-11 06:40