扩展默认的Less.js函数

时间:2013-10-15 07:01:05

标签: javascript html css less

我正在减少工作,我想扩展不像rgba()的基本功能,并添加我自己的自定义功能。例如,hextorgba()可以直接将十六进制颜色转换为rgba。我在function.js中添加了较少的库中的新函数,但是当我尝试使用它时它无法识别该函数。有人可以帮助我吗?

我在lib目录下的function.js文件中添加了该函数。这是一个functions.js的片段

tree.functions = {
    rgb: function (r, g, b) {
        return this.rgba(r, g, b, 1.0);
    },
    hextorgba: function(c){
        return this.rgba(this.red(c), this.green(c), this.blue(c), this.alpha(c));
    },

我也在使用less via命令行。我从npm安装了最新的少包(npm install less)。

1 个答案:

答案 0 :(得分:2)

我得到了这个工作。代码中有两个问题。首先是在hextorgba(...)函数中。我不得不将其更改为以下其他正在抛出错误“non_object_property_loadError:错误评估函数hextorgba:无法读取未定义的属性”0“

hextorgba: function(c, alpha){ // added the alpha parameter for opacity
    var rgb = c.rgb.map(function(c) {return scaled (c, 256); });
    return new(tree.Color)(rgb, alpha);
}

另一个问题是属性名称。我试图使用具有字符串转义问题的动态属性,例如text-orange。我现在得到了正确的结果。