从Babel.transform的结果检索导入的路径

在我目前正在从事的特殊(无节点)项目中,我使用Babel 6将JS文件转换为es2015。转换函数的结果返回一个具有元数据属性的对象,该对象包含编译文件具有的所有依赖项。我用它来确定要加载的文件及其加载顺序。

可悲的是,在Babel 7中,元数据对象已从结果中删除,我在任何地方都看不到所需的导入。在API-migration notes中,我发现以下语句:

  

已删除babel.metadata,因为生成的插件元数据始终   包含在输出结果中。

那么,这里的“输出结果”是什么意思?我现在在哪里可以找到依赖关系?还是我必须使用插件自己生成它们?如果是这样,我将不胜感激如何执行此操作。预先感谢您的帮助!

songqian729 回答:从Babel.transform的结果检索导入的路径

Babel 6和Babel 7都具有插件功能,可以将元数据信息添加为file.metadata插件API中公开的对象,并使元数据可用于babel.transform*() API返回的结果。这没有改变。

  

已删除babel.metadata,因为生成的插件元数据始终包含在输出结果中。

表示Babel 6具有可以传递给Babel的选项。如果您通过了metadata: false,则插件收集的元数据将不包含在babel.transform*()返回的结果中。删除该选项是为了使结果更加一致,并且没有明显的理由允许删除元数据。

Babel 7 did 删除了Babel的逻辑,即自动使用有关进出口的信息填充元数据,因为它没有被记录,未统一实施且不是Babel核心的行为。如果这是您想要的数据,则需要编写并启用您自己的插件来收集该数据并在file.metadata上设置一些字段,以便您可以随转换结果一起访问它。

本文链接:https://www.f2er.com/3137320.html

大家都在问