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.

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.


10

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

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

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 */

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
},

...

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
    }
}

0

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.