less.js - 在解析器的回调中获取变量值

Phi*_*ipp 5 javascript variables parsing client-side less

我使用less.js(1.3.0)来解析客户端的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());                
  }
});
Run Code Online (Sandbox Code Playgroud)

eval()和toCSS()都没有给我任何结果.我不明白解析器的内部运作方式.每个变量对象都有一个变量属性varsDef [k] .value,它是一个对象本身.但我只需要变量的字符串值.

有谁知道如何将变量的值作为字符串?

Luk*_*age 0

varsDef[k].value.toCSS()
Run Code Online (Sandbox Code Playgroud)

应该是值

varsDef[k].name
Run Code Online (Sandbox Code Playgroud)

应该是变量名

varsDef[k].toCSS()
Run Code Online (Sandbox Code Playgroud)

不返回任何内容,因为它是一个变量 - 在 CSS 中变量不输出。