Неожиданный токен {с Webpack 4 и @babel/preset-env

Это мое .babelrc:

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ]
}

Вот откуда возникает ошибка. \ Клиент \ SRC \ Components \ AddBook.js:

const { handleSubmit, pristine, reset, submitting } = this.props;

Сообщение об ошибке

   11 |   }
   12 |
 > 13 |   const { handleSubmit, pristine, reset, submitting } = this.props;
      |         ^
   14 |
   15 |   const handleSubmit = (allValues) => {
   16 |     console.log('formData:', allValues);

я думал @babel/preset-env позаботился обо всем последнем синтаксисе JavaScript. Что заставляет код ломаться? Полный репо находится на https://github.com/ElAnonimo/booklist

1 ответ

Ваш .babelrc явно не определяет, для каких браузеров / версий предполагается передавать код.

Настройте следующий образец .babelrc к вашим потребностям:

{"presets": [
    [ "@babel/preset-env", {
      "targets": {
        "browsers": ["last 1 version", "ie >= 11"]
      },
      "@babel/preset-react"
    ]
]}

https://babeljs.io/docs/en/babel-preset-env

Также при использовании веб-пакета вы должны сказать babel-loader явно уважать .babelrc и где он находится.

loader: 'babel-loader',
options: {
  babelrc: path.join(process.cwd(), './babelrc')
}

предполагая .babelrc находится в корневом каталоге вашего проекта.

Другие вопросы по тегам