2

这是一种奇怪的需求,但我认为这不是 X/Y 问题。我需要从我自己的工具中访问项目的 babel 相关依赖项和配置。我的工具可能是 devDep,或者全局安装,或者使用npx; 我没有办法知道。

我知道这可以做到,babel-register因为像这样的伟大工具babel-tape-runner做得很好。但是,就我而言,我不能只是require('babel-register')然后需要其他文件。我module._compile在引擎盖下使用。(在这种情况下,写出一个临时文件,运行它,然后取消链接并不是一个好的选择,因为它可能会发生数百或数千次。)

在将这些东西传递给之前,有什么方法可以使用用户的项目本地 Babel 配置和预设和插件对我从某处读入的一些代码进行 babelify module._compile

4

1 回答 1

0

事实证明,这里的正确答案是不使用babel-register. 我快速浏览了 Jest 是如何做到这一点的,他们babel-core直接使用。babel.transform(code, { extends: babelRc }).code进入module._compile工作就好了。整个差异可在此处获得。

于 2017-08-20T03:14:43.950 回答