React – ES6 – Неожиданный токен

я получаю эту ошибку

ERROR in ./src/components/Header/index.js
Module build failed: SyntaxError: C:/Users/Gil/Documents/Projects/ecommerce/src/components/Header/index.js: Unexpected token (16:7)

  14 |   }
  15 |
> 16 |   test = () => {
     |        ^
  17 |     console.log('pass!');
  18 |   };
  19 |

я думаю, что это что-то с ES6, но я не знаю, в любом случае, вот мой конфиг

webpack.config.js

loaders: [
      { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
      { test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'eslint-loader'
      },...

пакет.json

"devDependencies": {
    "babel-core": "^6.24.1",
    "babel-loader": "^7.0.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "react-scripts": "1.0.7"

поэтому моя проблема в том, что когда я пытаюсь использовать arrow function, я получаю эту ошибку, мне нужна дополнительная конфигурация или я делаю что-то не так?


person Gil    schedule 05.06.2017    source источник
comment
когда я пытаюсь использовать функцию стрелки, я получаю эту ошибку Проблема не в функции стрелки. Это с заданием test = ...;.   -  person Felix Kling    schedule 05.06.2017
comment
спасибо @FelixKling, я только что отметил это.   -  person Gil    schedule 05.06.2017


Ответы (1)


Вам нужно https://babeljs.io/docs/plugins/transform-class-properties/

npm install --save-dev babel-plugin-transform-class-properties

и внутри .babelrc:

"plugins": ["transform-class-properties"]
person Andy Ray    schedule 05.06.2017
comment
Возможно, вы захотите объяснить, почему. - person Felix Kling; 05.06.2017
comment
Кроме того, есть предустановки, включающие не только эту предлагаемую языковую функцию, но и другие. Например, пресет stage-2 в настоящее время включает в себя все языковые функции, которые достигли стадии 2 (из 4) на пути к включению в ECMAScript. - person Gabriel L.; 05.06.2017