Компиляция.less файлов с помощью lessc

Я пытаюсь скомпилировать на 2 файла меньше, используя lessc для nodejs.

мои файлы организованы в следующем порядке:

Файл 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, но не смог найти никакого решения. Кажется, что файл @import test.less в файле all.less игнорируется во время компиляции и не может найти класс.testClass в файле test.less.

Что мне не хватает? я использую неправильные аргументы?

1 ответ

Ответ:

Я обнаружил проблему. в файле all.less мой импорт файла test.less

@import: ".\test.less"

Когда это должно быть (обратите внимание на пропущенный ':')

@import ".\test.less"
Другие вопросы по тегам