【发布时间】:2016-08-14 16:45:08
【问题描述】:
我正在尝试使用 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类。
我错过了什么?我是否使用了错误的参数?
【问题讨论】:
标签: node.js less lesscss-resources