Опция less @import (ссылка) не работает в режиме без точек

Мы успешно используем dotLess в нашем проекте, у нас есть много файлов LESS, и мы сами используем LESS для объединения разных файлов компонентов с помощью команды @import, которая отлично работает. Пример:

@import 'common/_type.less';

Кроме того, мы используем синтаксис @import (ссылка), чтобы плагин Visual Studio Web Essentials мог правильно загружать ссылки для IntelliSense и т. д. Пример:

@import (reference) '../components/_animations.less'; // reference only

К сожалению, dotLess, кажется, терпит неудачу, когда включаются эти (ссылочные) операторы, в результате чего обработчик less возвращает пустой файл и не содержит отслеживаемых исключений.

Есть идеи?

Дополнительная информация:

Итак, мы делаем много тем, в которых используются переменные файлы для установки цветов и т. д., которые мы просматриваем во всех наших файлах less. Таким образом, наш файл less на верхнем уровне, доступный в браузере, может выглядеть так (скажем, theme-blue.less)

@import '_variables-default.less'
@import '_variables-blue.less'
@import '_master.less'

Затем _master.less содержит дополнительные импорты для предотвращения дублирования между темами:

@import 'mixins/_vendor-prefixes.less';
@import 'mixins/_clearfix.less';
... etc

Тогда мы получим меньше самих файлов, содержащих ссылочные операторы.

Таким образом, clearfix.less может ссылаться на примеси в vendor-prefixes.less, и именно здесь @import (ссылка) пригодится для intellisense:

@import (reference) '../mixins/_vendor-prefixes.less'; // reference only

person Chris Webb    schedule 03.03.2015    source источник
comment
Ваш вариант использования кажется интересным — вы выполняете стандартный импорт где-то еще, а затем импортируете ссылку в фактический файл, чтобы получить IntelliSense? Я спрашиваю, потому что я работаю над рассматриваемой функцией. :-)   -  person Rytmis    schedule 03.03.2015
comment
Мне никогда не приходило в голову сделать это - знаете ли вы, что @import (reference) на самом деле предназначен для использования миксинов и переменных из файлов @imported без вывода каких-либо неиспользуемых правил из этого файла? В любом случае, по логике, если файл уже импортирован обычным импортом, эталонный импорт ничего не должен делать, так что в вашем случае все хорошо. Я постараюсь сделать это таким образом, чтобы в предстоящей реализации не возникало дополнительных проблем с производительностью. :-)   -  person Rytmis    schedule 04.03.2015
comment
да - именно поэтому мы его используем, и это хороший вид документации о том, какие зависимости есть у каждого меньшего файла (вроде использования операторов). Но ключевой момент заключается в том, что эти (ссылочные) операторы позволяют Web Essentials проверять весь файл less и обеспечивать интеллектуальное понимание и навигацию по другим файлам, что огромно. Спасибо за вашу помощь!   -  person Chris Webb    schedule 05.03.2015


Ответы (1)


[править] @import (reference) теперь реализовано в версии 1.5 без точек. Обновите до этой версии, и все должно начать работать.

person Rytmis    schedule 03.03.2015