巴别不尊重API选项
鉴于以下最小的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
通过每个目录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
选项的行为? --ignore node_modules,b,c
在命令行上的效果稍微好一些,但是如果指定了--out-dir
,它似乎只能尊重第一个参数。
编辑:每个上面刚刚接受的答案巴别忽略几个目录并不能解决问题。 指定一个输出目录似乎会导致指定的第一个目录--ignore
从列表中删除。 在任何情况下,它都不能解释为什么.babelrc
选项似乎没有任何作用。它总是很有诱惑力来呐喊'错误',但我想知道是否错过了一些东西。
根据上面的评论,有一个在https://phabricator.babeljs.io/T6726logging的错误。 不过,似乎解决使用命令行语法的方法是完全避免使用。 代替:
babel **/*.js --ignore b,c --out-dir c
我已经取得了一些成功:
babel . --ignore b,c --out-dir c