【问题标题】:Babel multiple directores into single output directoryBabel 多个目录到单个输出目录
【发布时间】:2015-10-20 11:54:19
【问题描述】:

我已经搜索了 Babel 的文档,但似乎找不到答案,所以我求助于光荣的社区。​​p>

使用这样的目录结构:

src/
    folder1/
        file1.js
        file2.js
    folder2/
        file3.js
    folder3/
        file4.js
        file5.js

我希望 Babel 将所有文件转译到一个扁平目录中:

lib/
    file1.js
    file2.js
    file3.js
    file4.js
    file5.js

无论我尝试什么,Babel 总是继承src/ 目录结构。有什么想法吗?

【问题讨论】:

  • 您始终可以手动使用gulp 进行操作。你为什么要这样做?这也意味着您的所有导入语句将不再匹配,并且必须根据最终构建位置而不是源位置编写。
  • 因为我正在构建一个库,并且我希望库文件在 src/ 文件夹中命名空间,但在 lib/ 文件夹中扁平化(这是我在发布时通过 npm 提供的唯一内容)。而且我没有考虑过使用手动过程来展平 babel 后的文件,地狱我可能只是使用带有 fs 的节点脚本来完成它作为我预发布的一部分,但是如果 babel 本身支持这个,为什么还要费心额外的步骤?
  • 这是一个非常罕见的用例,并假设您所有的文件名都是唯一的,这并不常见。这不是我在任何命令行实用程序中看到的行为。
  • 注意到了吗?虽然我很欣赏评判性的厌恶和必要的蔑视,但我只是在问这是否可能。如果您想进一步讨论请求的荒谬性而不是问题的潜在答案,我们可以在聊天中继续讨论。
  • 如果有人也在寻找类似的东西。我想将我的 server 文件夹转换为 dist 文件夹。 babel ./server --out-dir ./dist 可以做到这一点。如果您需要对每个文件进行更多控制并且可以在节点 js 脚本中手动转换每个文件,--out-file 也很有用。我找到了一个带有-out-dir 选项here 的示例。

标签: babeljs


【解决方案1】:

如果你使用babel-cli,你可以这样做:

babel folder1 folder2 folder3 folder4 -d lib

如果您的文件夹数量有限,这可以正常工作。它会将它们全部展平。

【讨论】:

    【解决方案2】:

    要扩展 samanime 的答案,如果您使用的是 babel-cli,您只需在父文件夹上使用通配符...

    babel src/** -d lib

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 2020-03-22
      • 2017-11-11
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      相关资源
      最近更新 更多