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.

opike
źródło

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.

iamjpg
źródło
10

Użyłem .eslintrc.js i dodałem następujący kod.

module.exports = {
    "parserOptions": {
        "ecmaVersion": 6
    }
};
Khachornchit Songsaen
źródło
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 */
yousef
źródło
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
},

...
Marcos Sevilla
źródło
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
    }
}
Bjørnar Hvidsten
źródło
0

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

fuddin
źródło