【问题标题】:How can I access a project's babel-related deps from somewhere else?如何从其他地方访问项目的 babel 相关部门?
【发布时间】:2017-08-16 03:35:23
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript node.js babeljs babel-register


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-10
      • 2013-03-13
      • 2019-09-09
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      相关资源
      最近更新 更多