Использование переменной в операторе @import — DotLess

Я использую DotLess v1.4 и хочу сделать следующее:

// Variables
@Utilities-path: "../../Utilities";

@import "@{Utilities-path}/bacon.less";

Когда я это делаю, я получаю ошибку «Файл не найден».

Файл не найден при синтаксическом анализе: вы импортируете файл, оканчивающийся на .less, который не может быть найден.

Если я это сделаю, он работает правильно.

@import url('../../Utilities/bacon.less');

Насколько мне известно, это было добавлено в Less в версии 1.4, поэтому я предположил, что это будет работать в последней версии DotLess.

Кто-нибудь знает, доступна ли эта функция, и если да, то что я делаю неправильно?


person Colin Bacon    schedule 29.01.2014    source источник
comment
Привет, Колин. Вы пробовали имя переменной без дефиса?   -  person Jamie Dixon    schedule 29.01.2014
comment
Кроме того, переменные в LESS по-прежнему работают как переменные, если вы поместите их в такую ​​​​строку? Вы пробовали @Utilities-Path + "/bacon.less" ?   -  person Jamie Dixon    schedule 29.01.2014
comment
Спасибо @JamieDixon, попробовал оба ваших предложения, но без удовольствия.   -  person Colin Bacon    schedule 30.01.2014


Ответы (2)


Эта функция недоступна в DotLess v1.4. Версия 1.4 не означает, что используется эквивалентная версия LESS.

person Colin Bacon    schedule 03.03.2014

Согласно: https://github.com/less/less.js/issues/410#issuecomment-16219936 похоже, что эта функция была добавлена ​​в версии less v1.4.0 и требует использования миксина для импорта.

@Utilities-path: "../../Utilities";

.bacon(){
   @import "@{Utilities-path}/bacon.less";
}
.bacon();
person Jamie Dixon    schedule 30.01.2014
comment
Я думаю, что DotLess v1.4 не использует Less v1.4, поэтому это не работает. - person Colin Bacon; 31.01.2014
comment
Тогда это имеет смысл. - person Jamie Dixon; 31.01.2014