我正在尝试使用jscodeshift,每当我尝试插入新表达式时,我都会收到以下错误
{operator: ==, left: [object Object], right: [object Object], loc: null, type: BinaryExpression, comments: null} does not match type string
这是我的小测试中的内容:
var testBinary = j.binaryExpression("==", j.literal(2), j.literal(3))
return j(file.source)
.find(j.IfStatement)
.insertBefore(testBinary)
.toSource();
你可以在这里试试https://astexplorer.net/#/P6euf9XIlR/1
如果我使用j(file.source).find()。replaceWith()它没有任何问题。
我在这里做错了什么?
答案 0 :(得分:0)
使用:
var testBinary = j.binaryExpression("==", j.literal(2), j.literal(3)),
root = j(j(file.source);
j(root.find(j.IfStatement).at(0).get())
.insertBefore(testBinary);
return root.toSource();