我有一个使用babel核心transform函数的全局节点模块。我的模块根部没有.babelrc。它需要一个文件,基本上使用transform来“编译”它。
const result = transformSync(content, {
filename: src,
});有一个.babelrc文件和该文件一起,我确实能够找到它
{
"presets": ["@babel/preset-env"]
}但是它抱怨没有找到‘@babel/preset’,这是正确的,因为模块安装的是我的,而不是文件/..babelrc被转移。
我在https://babeljs.io/docs/en/options中尝试过许多选项,但仍然无法让它发挥作用。
我如何配置transform,使其在从传输文件的文件夹加载babel配置时从模块中获得插件?
发布于 2018-10-15 15:19:47
通过设计,Babel的插件加载程序搜索相对于引用它们的配置文件的插件,或者使用cwd对直接在transformSync选项中传递的插件。对此的控制不会暴露给调用Babel的实用程序。
更改这些语义意味着Babel配置文件的行为将因加载它的工具而有所不同,这对于用户来说非常不一致,特别是考虑到配置文件格式的主要好处之一是可以在多个调用Babel的工具之间轻松地共享配置,例如,一个用于测试,另一个用于捆绑。
如果您希望用户能够自定义您的工具,听起来您可能实际上需要的是您自己的工具完全独立的配置文件,因此您可以定义您想要的任何语义。
https://stackoverflow.com/questions/52808956
复制相似问题