eslint: error Błąd analizy: słowo kluczowe „const” jest zastrzeżone


188

Otrzymuję ten błąd z ESLint:

error  Parsing error: The keyword 'const' is reserved

z tego kodu:

const express = require('express');
const app = express();
const _ = require('underscore');

Próbowałem usunąć node_modulesi ponownie zainstalować wszystkie pakiety npm (jak sugerowano tutaj ), ale bezskutecznie.

Odpowiedzi:


301

ESLint domyślnie sprawdza sprawdzanie składni ES5. Będziesz chciał zastąpić najnowszą dobrze obsługiwaną wersją JavaScript.

Spróbuj dodać .eslintrcplik do swojego projektu. W środku tego:

{
    "parserOptions": {
        "ecmaVersion": 2017
    },

    "env": {
        "es6": true
    }
}

Mam nadzieję, że to pomaga.

EDYCJA: Znalazłem również ten przykład,.eslintrc który może pomóc.



6

możesz również dodać tę wstawkę zamiast konfiguracji, po prostu dodaj ją do tego samego pliku, zanim dodasz własne wyłączanie

/* eslint-env es6 */
/* eslint-disable no-console */

moja sprawa została wyłączona, a wyłączanie eslint nie działało tylko dla mnie

/* eslint-env es6 */
/* eslint-disable */

3

Miałem ten sam problem z tą częścią mojego kodu:

const newComment = {
    dishId: dishId,
    rating: rating,
    author: author,
    comment: comment
};
newComment.date = new Date().toISOString();

Ten sam błąd, const jest słowem zastrzeżonym.

Chodzi o to, że zrobiłem .eslintrc.js z linku, który podałeś w aktualizacji i nadal otrzymałem ten sam błąd. Ponadto, pojawia się błąd parsowania w .eslintrc.js: Unexpected token ':'.

W tej części:

"env": {
"browser": true,
"node": true,
"es6": true
},

...

2

Jeśli używasz kodu wizualnego, jedną z opcji jest dodanie tego do pliku settings.json:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}

0

W moim przypadku nie udało się znaleźć .eslintrcpliku, więc skopiowałem z node_modules / .bin do root.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.