0

我尝试了以下方法:

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;
};

return new less.tree.Rule([], [], 0,"");仍然会导致空输出,例如: ;也没有返回任何内容都会给我一个错误:TypeError:无法读取未定义的属性“拼接”。

4

1 回答 1

1

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

visitRule: function (ruleNode, visitArgs) {
    if (ruleNode.variable) {
        return [];
    }
    return ruleNode;
},

如果您查看 toCSS 访问者,它会执行很多操作。

但我认为它也应该允许 undefined .. 很快就会考虑添加它。

于 2014-10-28T20:18:42.847 回答