0

我正在尝试使用 lessc 为 nodejs 编译 2 个更少的文件。

我的文件按以下顺序组织:

lessc 文件在C:\test\less\bin, test.less 和 all.less 文件在C:\test\css

我的lessc命令行是:

lessc --include-path="..\..\test" "C:\test\css\all.less" "C:\test\css\all.css"

我的 all.less 文件如下:

@import: ".\test.less";

.transition(@transition) {
    weight: 1px+1em;
  -webkit-transition: @transition;
-moz-transition: @transition;
-o-transition: @transition;
transition: @transition;
}
.opacity(@opacity) {
  opacity: @opacity / 100;
  filter: ~"alpha(opacity=@{opacity})";
}

a {
.transition(all 0.4s) ;
&:hover {
  .opacity(70);
  .testClass;
  }
}

// Selector interpolation only works in 1.3.1+. Try it!
@theGoodThings: ~".food, .beer, .sleep, .javascript";

@{theGoodThings} {
  font-weight: bold;
  size: 50px;
  filter: e("ms:alwaysHasItsOwnSyntax.For.Stuff()");
}

和 test.less 文件如下:

.testClass {
    content: replace("Hello, Mars?", "Mars\?", "Earth!");
    content: replace("One + one = 4", "one", "2", "gi");
    content: replace('This is a string.', "(string)\.$", "new $1.");
    content: replace(~"bar-1", '1', '2');
}

问题是当我运行命令时,我得到的只是解释 .testClass 的错误未定义

NameError: .testClass is undefined in C:\test\css\all.less on line 19, column 3:

18   .opacity(70);
19   .testClass;
20   }

我尝试了任何参数,甚至尝试调试 lessc 代码,但无法提出任何解决方案。似乎在编译过程中忽略了 all.less 文件中的 test.less 文件的@import,并且在 test.less 文件中找不到 .testClass 类。

我错过了什么?我使用了错误的论点吗?

4

1 回答 1

0

回答:

我发现了问题。在 all.less 文件中,我导入的 test.less 文件是

@import: ".\test.less"

什么时候应该(注意缺少的':')

@import ".\test.less"
于 2016-08-14T22:29:44.643 回答