Таинственная ошибка синтаксического анализа ESLint

В строке 4 следующего кода ESLint выдает сообщение об ошибке:

Неожиданный токен =

Мне интересно, почему это так? Код работает правильно. Что я делаю неправильно?

import { Component, PropTypes } from 'react';

export default class MainApp extends Component {
  static propTypes = {
    children: PropTypes.any.isRequired
  }

  componentWillMount() {
    require('./styles/main.styl');
  }

  render() {
    return (
      <div>
        {this.props.children}
      </div>
    );
  }
}

2 ответа

Решение

У вас не может быть свойств внутри классов, у вас могут быть только методы.

Ссылка: http://www.2ality.com/2015/02/es6-classes-final.html

Я смог это исправить:

1) Установить бабел-эслинт

$ npm i --save-dev babel-eslint

ИЛИ ЖЕ

$ yarn add babel-eslint --dev

2) Настройте ESLint для использования babel-eslint в качестве парсера

Просто добавь "parser": "babel-eslint", в ваш файл.eslintrc.

Пример.eslintrc для использования babel-eslint и конфигурация airbnb с некоторыми пользовательскими правилами:

{
  "parser": "babel-eslint",
  "extends": "airbnb",
  "rules": {
    "arrow-body-style": "off",
    "no-console": "off",
    "no-continue": "off"
  }
}
Другие вопросы по тегам