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.