Учитывая следующие минимальные 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
, удаляются из списка. В любом случае, это не объясняет, почему опция .babelrc
, по-видимому, не действует... всегда хочется кричать "ошибка", но я подумал, не пропустил ли я что-то.