gpt4 book ai didi

javascript - 如何在遍历期间从 Babel 节点获取代码作为字符串

转载 作者:行者123 更新时间:2023-12-05 00:56:57 26 4
gpt4 key购买 nike

在下面的代码中,是否可以获得 AST 节点的整个字符串表示形式,在这种情况下会返回 window.alert('asdf')

const ast = parse("window.alert('asdf')")

let preloadCode = ""
traverse(ast, {
CallExpression: function(path) {
// path.node.toString() ??
},
})

最佳答案

@babel/parser 返回的每个 AST 节点都有一个 startend 属性指向它在源代码中的位置。您可以使用它们来分割原始字符串的源代码。

const { parse } = require('@babel/parser');

const source = '1 + 2 + 3';
const ast = parse(source);
const node = ast.program.body[0].expression.left;

console.log(source.slice(node.start, node.end)); // → '1 + 2'

关于javascript - 如何在遍历期间从 Babel 节点获取代码作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61325886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com