Можно ли указать требуемую LESS версию?
Могу ли я указать версию LESS-компилятора, необходимую для компиляции файла? Например, в комментарии в начале файла:
// use 1.5.0
Я искал документы, но, похоже, нет такой возможности.
1 ответ
В принципе нет, такой опции нет. И даже если он будет добавлен в будущих версиях LESS, более старые версии все еще не будут иметь его, так что это не очень скоро поможет. Помимо более старых версий less.js, есть несколько портов LESS, которые также немного отстают от официальной реализации, поэтому вы никогда не знаете, что происходит с вашими источниками LESS, когда вы его отдаете. (Не говоря уже о том, что каждый компилятор LESS также обычно имеет несколько опций, которые влияют на вывод CSS, например: --strict-math).
Ну, есть возможность добавить своего рода защиту версии в ваш код, например, когда я попробовал что-то вроде этого:
.version-guard__() when not(length(-) = 1) {
-:@@-;@-:': requires LESS version 1.5.0 or higher';
} .version-guard__();
Но он работает только в less.js, и не так просто создать универсальный трюк, который будет работать с другими реализациями LESS, поскольку каждая из них обрабатывает ошибки немного по-разному (хотя, если честно, я не слишком беспокоился об этом так как моей главной целью было получить разумное сообщение об ошибке).
PS Альтернативная версия метода защиты:
.version-guard__ {
-+: requires LESS version 1.5.0 or higher;
}
Этот работает в less.js и lessphp (по крайней мере), но генерирует фиктивный вывод CSS (в отличие от первого).