Less 如何在访客较少的插件中从树中删除条目

Less 如何在访客较少的插件中从树中删除条目,less,less-plugins,Less,Less Plugins,我尝试了以下方法: module.exports = function(less) { function RemoveProperty() { this._visitor = new less.visitors.Visitor(this); }; RemoveProperty.prototype = { isReplacing: true, isPreEvalVisitor: true, run: function (root) { return

我尝试了以下方法:

module.exports = function(less) {
function RemoveProperty() {
    this._visitor = new less.visitors.Visitor(this);
};

RemoveProperty.prototype = {
    isReplacing: true,
    isPreEvalVisitor: true,
    run: function (root) {
        return this._visitor.visit(root);
    },
    visitRule: function (ruleNode, visitArgs) {
        if(ruleNode.name[0].value != '-some-aribitrary-property')
        {        
            return ruleNode;
        }
        else
        {
            return  new less.tree.Rule([], [], 0,"");
        }   
    }
};
return RemoveProperty;
};

返回新的less.tree.Rule([]、[]、0,”)仍然会导致空输出,如
也返回nothing将给我一个错误:TypeError:无法读取未定义的属性“splice”。

它可以。。但从性能角度来看,这并不理想。。返回一个空数组

visitRule: function (ruleNode, visitArgs) {
    if (ruleNode.variable) {
        return [];
    }
    return ruleNode;
},
如果你查看toCSS访问者,它会经常这样做

但我认为它也应该允许未定义的。。我们将很快考虑添加这些内容