Как грамотно воспользоваться опцией @import в LESS?

Уже более полугода верстаю в less, периодически порываюсь разбить основной файл main.less на фрагменты типа variables.less, reset.less, functions.less, header.less и т.п. для удобства, но каждый раз компилятор (использовал и Simpless и Winless) ругаются на непонятные мне ошибки.

Если сливаю все в один файл, то все компилится без проблем. Так и верстаю пока все в один громоздкий файл.

Хотелось бы уже понять что я делаю не так.


Использую следующую структуру в main.less (он находится в папке less и компилится в /css/main.css)
@import "variables";
@import "functions";
@import "reset";
...
  • Вопрос задан
  • 14263 просмотра
Решения вопроса 1
@Makito Автор вопроса
Есть решение!
Путем перебора стилей в функциях обнаружил что ему не нравится определение:
background: url(@sprite_border) 0 0 repeat-y;

переписал данные куски с учетом работы со строками
background: url('@{sprite_border}') 0 0 repeat-y;

и вуаля — все компилируется :)

Но все равно не понятно — почему не было ругани, когда данный кусок кода стоял непосредственно в main.less
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
d43
@d43
Вы не забыли расширение у импортируемых файлов?

@import "variables.less";
Ответ написан
AGvin
@AGvin
Посмотрите, как у Вас установлено путь для поиска импортируемых файлов.
В документации, есть такой пример:
var parser = new(less.Parser)({
    paths: ['.', './lib'], // указывает пути поиска для директив @import
    filename: 'style.less' // указывает имя файла, для улучшения сообщений об ошибках
});

...

Попросту, у Вас в «paths» может не быть каталога в котором есть ваши файлы.

Если используете командную строку для компиляции, посмотрите документацию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы