eslint: error Analysefehler: Das Schlüsselwort 'const' ist reserviert

186

Ich erhalte diesen Fehler von ESLint:

error  Parsing error: The keyword 'const' is reserved

aus diesem Code:

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

Ich habe versucht, node_modulesalle npm-Pakete zu entfernen und neu zu installieren (wie hier vorgeschlagen ), aber ohne Erfolg.

opike
quelle

Antworten:

299

ESLint verwendet standardmäßig die ES5-Syntaxprüfung. Sie sollten die neueste, gut unterstützte Version von JavaScript überschreiben.

Versuchen Sie .eslintrc, Ihrem Projekt eine Datei hinzuzufügen . Im Inneren:

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

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

Hoffentlich hilft das.

EDIT: Ich habe auch dieses Beispiel gefunden,.eslintrc das helfen könnte.

iamjpg
quelle
10

Ich habe .eslintrc.js verwendet und folgenden Code hinzugefügt.

module.exports = {
    "parserOptions": {
        "ecmaVersion": 6
    }
};
Khachornchit Songsaen
quelle
6

Sie können diese Inline-Datei auch anstelle der Konfiguration hinzufügen. Fügen Sie sie einfach derselben Datei hinzu, bevor Sie Ihre eigenen Deaktivierungselemente hinzufügen

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

Mein Fall war, eine Datei zu deaktivieren, und eslint-disable funktionierte nicht nur für mich

/* eslint-env es6 */
/* eslint-disable */
yousef
quelle
3

Ich hatte das gleiche Problem mit diesem Teil meines Codes:

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

Gleicher Fehler, const ist ein reserviertes Wort.

Die Sache ist, ich habe die .eslintrc.js über den Link erstellt, den Sie im Update angegeben haben, und trotzdem den gleichen Fehler erhalten. Außerdem erhalte ich einen Analysefehler in .eslintrc.js: Unexpected token ':'.

Genau in diesem Teil:

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

...
Marcos Sevilla
quelle
2

Wenn Sie Visual Code verwenden, können Sie dies der Datei settings.json hinzufügen:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}
Bjørnar Hvidsten
quelle
0

In meinem Fall konnte die .eslintrcDatei nicht gefunden werden, daher habe ich sie von node_modules / .bin nach root kopiert.

Fuddin
quelle