Babel不尊重忽略API选项

时间:2016-05-05 00:00:23

标签: node.js babeljs

给出以下最小package.json

{
  "babel": {
    "presets": ["es2015"],
    "ignore": [
      "b",
      "c",
      "node_modules"
    ]
  },
  "devDependencies": {
    "babel-cli": "^6.8.0",
    "babel-preset-es2015": "^6.6.0"
  },
  "scripts": {
    "transpile": "babel *.js **/*.js --out-dir c"
  }
}

目录结构:

foo.js
a/
  bar.js
b/
  baz.js

npm run transpile浏览每个目录,包括输出目录(如果存在):

foo.js -> c/foo.js
a/bar.js -> c/a/bar.js
b/baz.js -> c/b/baz.js
c/foo.js -> c/c/foo.js

我对ignore选项的行为缺少什么?命令行上的--ignore node_modules,b,c稍微好一点,但如果指定了--out-dir,它似乎只是尊重第一个参数。

编辑:就在上面,Babel ignore several directories接受的答案无法解决问题。指定输出目录似乎会以某种方式导致从列表中删除指定给--ignore的第一个目录。在任何情况下,它都没有解释为什么.babelrc选项似乎没有效果......它总是很想哭'bug',但我想知道我是否错过了什么。

1 个答案:

答案 0 :(得分:0)

根据上面的评论,https://phabricator.babeljs.io/T6726上记录了一个错误。但是,似乎使用命令行语法的方法是完全避免使用globs。而不是:

babel **/*.js --ignore b,c --out-dir c

我在以下方面取得了一些成功:

babel . --ignore b,c --out-dir c