Eslint - `ошибка разбора: ошибка непредвиденная лексема =` по присвоению жирной стрелкой / инициализатор собственность
Я использую функцию со стрелкой, и она жалуется на ошибку синтаксического анализа:
Parsing Error: Unexpected token =
Однако мой код действителен (пожалуйста, скажите мне, если я ошибаюсь). Кроме того, я установил.настройки eslintrc для использования синтаксического анализа es6:
.eslintrc
{
"parserOptions": {
"ecmaVersion": 6,
}
}
Вот мой код:
class foo() {
// Doesn't like the line below
// even though it is valid:
namedFunction = () => {
}
}
Есть ли способ устранить эту ошибку? Это делает огромное отличие в терминах того, что значение this
от конкретной функции.
1 ответ:
Вы используете синтаксис class field (a.k.a. property initializer), который не является частью ECMAScript 2015 (ES6), ни ES2016 или 2017, и поэтому не поддерживается ESLint. В настоящее время это предложениестадии 2 . Если вы хотите использовать его с ESLint, вам нужно использовать babel-eslint. Эта страница описывает, как его использовать, но суть такова:
Установить
$ npm install eslint@3.x babel-eslint@6 --save-dev
Настройка
.eslintrc
{ "parser": "babel-eslint", "rules": { "strict": 0 } }