减:以编程方式使用时传递选项(通过 API)

jba*_*ndi 4 less

命令行lessc上使用时,我可以传递选项。--modify-var="my-var=my-val"

当我通过API以较少的编程方式使用时,如何传递相同的选项less.render(lessInput, options)

我会以某种方式希望我可以在optionslike 中设置一个属性{modifyVar:'my-var=my-val'}。但这似乎不起作用,我没有找到有关此用例的任何文档。

谢谢你的帮助。

Bas*_*sen 5

不幸的是,API 文档中没有描述这些选项。了解它们的最简单方法是研究https://github.com/less/less.js/blob/master/bin/lessc的来源。

options 和 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);
});
Run Code Online (Sandbox Code Playgroud)

以上应输出如下:

t {
  color1: blue;
  color2: darkblue;
}
Run Code Online (Sandbox Code Playgroud)