Babel 6 пресетов, указанных в.babelrc не работает
как следует из названия, в основном согласно документам, с новым Babel 6 мы теперь должны передавать Плагины / пресеты, так как по умолчанию он ничего не будет делать с нашим кодом.
Я создал .файл babelrc в моем каталоге проекта со следующим (как и в документах)
{
"presets": ["es2015"]
}
однако это не сработает. Поскольку я использую webpack и babel-loader, я наткнулся на другой ответ, который предложил поместить что - то вроде этого в webpack config:
{
test: /.js$/, exclude: /node_modules/, loader: "babel", query: {
presets: ["es2015"]
}
}
и это работает. Итак, мой вопрос в том, является ли это ошибкой в новом Вавилоне или что-то явно не так, что я пропустил? Я использовал Babel 5 и Webpack, и я смог указать конфигурацию babel .babelrc не проблема...
спасибо заранее
EDIT: проблема возникла только при запуске загрузчика eslint перед загрузчиком babel. Однако только что обновлен до последнего babel-loader 6.2.0, и все работает снова.
module: {
preLoaders: [
{ test: /.js$/, exclude: /node_modules/, loader: "eslint"}
],
loaders: [
{ test: /.js$/, exclude: /node_modules/, loader: "babel"},
{ test: /.css$/, exclude: /node_modules/, loader: "style!css!postcss"}
1 ответов
Кажется, это проблема с babel-loader
. Он должен быть исправлен в release 6.1.0.
вы можете увидеть release / v6.1.0 резюме:
* release/v6.1.0:
Update CHANGELOG.md and package.json
Set source file name relative to options.sourceRoot
Allow babelrc to be specified for cache purposes
Add BABEL_ENV || NODE_ENV to default cacheIdentifier
поэтому достаточно обновить babel-loader.