Минус: опция передачи при использовании программно (через API)
Когда используешь lessc
в командной строке я могу передать опцию --modify-var="my-var=my-val"
,
Как я могу передать ту же опцию, когда я использую меньше программно через API с less.render(lessInput, options)
?
Я как-то надеюсь, что я могу установить свойство в options
лайк {modifyVar:'my-var=my-val'}
, Но это, кажется, не работает, и я не нашел никакой документации относительно этого варианта использования.
Спасибо за любую помощь.
1 ответ
К сожалению, параметры не описаны в документации API. Самый простой способ понять их - изучить источник https://github.com/less/less.js/blob/master/bin/lessc.
Обе опции и опция modifyVars должны быть объектами. Для modifyVars
Опция каждой переменной должна быть ключом объекта. Ключи могут, но не обязательно начинаться с @
,
Пример:
var less = require('less/lib/less-node');
var options = {};
options['modifyVars'] = {'color1' : 'blue', '@color2': 'darkblue'};
less.render('@color1: red; @color2:yellow; t {color1: @color1; color2: @color2;}', options)
.then(function(output) {
// output.css = string of css
// output.map = undefined
console.log(output.css);
});
Выше следует вывести следующее:
t {
color1: blue;
color2: darkblue;
}