Как удалить запись из дерева в плагине Less посетителя
Я попробовал следующее:
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: Невозможно прочитать свойство "склейка" неопределенного.
1 ответ
Решение
Может... но не идеально с точки зрения производительности... вернуть пустой массив
visitRule: function (ruleNode, visitArgs) {
if (ruleNode.variable) {
return [];
}
return ruleNode;
},
Если вы проверяете посетителя toCSS, он делает это много.
Но я думаю, что это должно разрешить также неопределенное.. Скоро рассмотрим добавление.