【发布时间】:2017-04-26 17:37:50
【问题描述】:
我正在编写一个 Babel 插件,它需要操作代码文件中的每个 顶级 声明,即直接位于 Program 节点下方的每个声明。
Babel 插件手册说'Do not traverse when manual lookup will do',解释说我可以简单地遍历子节点。这很好用。我的问题是所有操作函数——replaceWith、insertBefore、insertAfter 等——都是在 paths 上定义的,而不是在 nodes 上定义的。那么当我迭代子节点时,我该如何操作它们呢?
在我看来,我需要某种从给定节点获取路径对象的方法。但我只能找到相反情况的文档:从路径对象获取节点 (path.node)。
【问题讨论】:
标签: javascript plugins babeljs