У меня есть проект React, который использует Webpack в качестве сборщика модулей и babel-loader
для преобразования его в ES5, используя следующие настройки:
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: [
{
loader: "babel-loader"
}
]
}
]
},
Параметры задаются в отдельном файле .babelrc
.
Babel 6.13.0 поддерживает модули ECMAScript. , что означает, что модули ECMAScript не нужно предварительно преобразовывать в модули CommonJS. Чтобы получить такое поведение, в документации говорится, что мы должны использовать этот параметр в нашем файле .babelrc
.
{
presets: [["es2015", { "modules": false }], "react"]
}
Однако, когда я пытаюсь запустить Webpack с этим параметром, он возвращается с ошибкой:
$ ./node_modules/.bin/webpack
/home/d4nyll/foo/bar/webpack.config.babel.js:1
(function (exports, require, module, __filename, __dirname) { import webpack from 'webpack';
^^^^^^
SyntaxError: Unexpected token import
Я предполагаю, что это связано с тем, что babel-loader
не действует на webpack.config.babel.js
, и поэтому не распознает ключевое слово import
. Ошибка не появляется при удалении { "modules": false }
, но мне нужна эта функциональность. Как заставить Babel распознать webpack.config.babel.js
?