【问题标题】:Babel ignore several directoriesBabel 忽略几个目录
【发布时间】:2016-03-02 13:07:57
【问题描述】:

我目前正在使用一个简单的命令运行 Babel:

$ babel . --ignore node_modules --out-dir dist

但我找不到忽略几个目录(node_modules、test)的方法,我尝试了很多东西,包括(.babelrc):

  "ignore": "node_modules"
  "ignore": "/node_modules/"
  "ignore": "node_modules/**"
  "ignore": ["node_modules"]

这根本不起作用(node_modules 被转译)。难道没有一种简单的方法可以实现这一点(使用 Babel 6)吗?

【问题讨论】:

  • 它是 babel 本身的一个错误。 phabricator.babeljs.io/T6726
  • 如果你使用 webpack,你可以这样做
  • 好吧,我这里没有使用 webpack... 我不能通过 CLI 使用 --ignore 选项指定多个目录吗? (再次,我尝试了很多东西,但无法弄清楚。)
  • 您能指定您尝试转译的目录吗? (解决方法)
  • 是的,我也试过唯一的,我还有 app.js 和文件夹。也许“唯一”选项在 .babelrc 中有效。我试试

标签: javascript babeljs


【解决方案1】:

你应该可以在 cli 中使用逗号

babel . --ignore node_modules,test --out-dir dist

【讨论】:

  • 谢谢,多个--ignore 不起作用……这在其他工具中很常见。而是使用最后一个 ignore
【解决方案2】:

您可以像这样忽略多个目录并在 .babelrc 文件中指定一个通配模式

{
    ...,
    "ignore": [
        "node_modules",
        "dir_2",
        "dir_3/**/*.js"
    ]
}

参考:https://babeljs.io/docs/en/babelrc

【讨论】:

    【解决方案3】:

    使用 Babel 7,您需要使用 glob 模式:

    babel . --ignore */node_modules,*/test --out-dir dist
    

    【讨论】:

      【解决方案4】:

      请注意,babel 中有一个已知错误,它会忽略 .babelrc 中的 onlyignore

      相关的bug是T6726,一直是fixed in babel 6.14.0

      【讨论】:

      • 你是什么意思?你能提供更多细节吗?
      猜你喜欢
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 2017-06-14
      相关资源
      最近更新 更多