我正在使用 less.js (1.3.0) 在客户端将 less 解析为 css。在解析器的回调中,我想获取每个变量的值。我尝试了以下但没有成功。
var data = "@colour: red; #example { background-color: @colour; }",
parser = new less.Parser({});
parser.parse(data, function (error, root) {
console.log( root.toCSS() );
var varsDef = root.variables();
for (k in varsDef) {
console.log(varsDef[k]);
// how to get the value for the var?
//not working
console.log(varsDef[k].eval());
//not working
console.log(varsDef[k].toCSS());
//is an object but looking for a string value
console.log(varsDef[k].value);
//returns an empty string
console.log(varsDef[k].value.toCSS());
}
});
eval() 和 toCSS() 都没有给我任何结果。我不了解 less 解析器的内部工作原理。每个变量对象都有一个变量属性 varsDef[k].value,它本身就是一个对象。但我只需要变量的字符串值。
有谁知道如何将变量的值作为字符串获取?