给出以下最小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',但我想知道我是否错过了什么。
答案 0 :(得分:0)
根据上面的评论,https://phabricator.babeljs.io/T6726上记录了一个错误。但是,似乎使用命令行语法的方法是完全避免使用globs。而不是:
babel **/*.js --ignore b,c --out-dir c
我在以下方面取得了一些成功:
babel . --ignore b,c --out-dir c