javascript - 如何将 ast-node 转换为其代表的底层 javascript 字符串

标签 javascript jscodeshift

如何将节点转换为 JavaScript?

https://astexplorer.net/#/gist/cf11a829035dd865a3fbf6744aa4b146/50e921c2b4bea27c5d1b214acae3c5ef11a2f1af

// target file
function execute() { 
  var a = 'a'
}

// jscodeshift
export default(file, api) => {
  const j = api.jscodeshift
  const root = j(file.source)

  var node = root.find(j.VariableDeclaration)
  // i want to see what node looks like in javascript.

  return root.toSource()
}
<小时/>

最佳答案

推测您搜索的内容有一个非空集合:

var node = root.find(j.VariableDeclaration).at(0).get();
// in js node looks like
return j(node).toSource();

关于javascript - 如何将 ast-node 转换为其代表的底层 javascript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46027229/

相关文章:

abstract-syntax-tree - 如何用刚刚解析的 javascript(string) 替换 AST 中的路径?

javascript - 如何在jscodeshift中逐行获取代码

javascript - Vuejs 事件处理程序中是否需要 $event?

javascript - 为什么 Button 组件在单击时改变位置?

javascript - 使用 JavaScript 变量作为路由参数

javascript - codemod/transform 包括 BlockStatement

javascript - 如何在 Jscodeshift 中正确导出 const

reactjs - 使用 jscodeshift 删除外部 React 组件

javascript - 如何防止 TinyMCE 5 删除\r\n

javascript - 三个 div 并排导致问题