Как я могу исправить ошибку синтаксического анализа ESLint для неожиданного токена "/"? - PullRequest
0 голосов
/ 30 октября 2018

enter image description here

ESLint возвращает ошибку синтаксического анализа (неожиданный токен) для закрывающего тега </p>. Что мне не хватает? Нормальные атрибуты HTML не разрешены в JSX? (div вроде нормально работает)

Точная ошибка:

[eslint] Parsing error: Unexpected token "/"
  • ESLint установлен
  • ESLint React установлен
  • ESLint React настроен в .eslintrc.json

EDIT:

  • Использование VS Code (с плагином ESLint)

Частично .eslintrc.json:

"env": {
    "browser": true,
    "commonjs": true,
    "es6": true
},
"extends": "eslint:recommended",
"parserOptions": {
    "ecmaFeatures": {
    "experimentalObjectRestSpread": true,
    "jsx": true
    },
    "sourceType": "module"
},
"plugins": [
    "react"
],
"rules": {
    ...
}

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Я столкнулся с той же проблемой сегодня, когда настраивал новый проект React. Исправление, которое работало для меня, устанавливало пакет babel-eslint (npm install babel-eslint --save-dev или yarn add babel-eslint -D). Затем я добавил "parser": "babel-eslint" в мой .eslintrc файл конфигурации. Похоже, что это помогает babel и ESLint справиться немного лучше, чем использование парсера по умолчанию.

0 голосов
/ 29 апреля 2019

Я получил похожую ошибку в Visual Studio 2017 (не код) .

Ошибка «ESLint обнаружена ошибка синтаксического анализа» произошла в начале оператора import.

решение janniks не работает для меня. Я подозреваю, потому что "es6: true "включает [s] все функции ECMAScript 6, кроме модулей" .

Поскольку я использую TypeScript, я не хочу использовать babel-eslint, в соответствии с ответом Шона (хотя это и помогло устранить ошибку синтаксического анализа в простом файле JS).

Ключевой компромисс можно суммировать как: babel-eslint Поддержка дополнительный синтаксис, который сам TypeScript не делает, но typescript-eslint поддерживает создание правил на основе информации о типе, который недоступен для babel, потому что нет проверки типов.

Вместо этого я продолжал использовать "@ typescript-eslint / parser". Ниже мой минимальный рабочий .eslintrc:

{
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "sourceType": "module"
    },
    "rules": {
        "quotes": [ "error", "single" ]
    }
}

Примечание: ошибка была устранена в простых JS-файлах (не в TS), даже если я удалил строку "parser", поэтому использовал парсер eslint по умолчанию.

0 голосов
/ 30 октября 2018

Я не уверен, что является причиной проблемы, но, похоже, это решает ее. Я изменил .eslintrc.json на следующее:

{
    "env": {
        "browser": true,
        "commonjs": true,
        "es6": true
    },
    "extends": [
        "standard",
        "standard-react"
    ]
}

Я также оставил в своем оригинальном rules.

...