eslint: Fehler Parsing-Fehler: Das Schlüsselwort „const“ ist reserviert

Lesezeit: 3 Minuten

Benutzer-Avatar
Opike

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 zu entfernen node_modules und Neuinstallation aller npm-Pakete (wie hier vorgeschlagen), aber ohne Erfolg.

Benutzer-Avatar
iamjpg

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

Versuchen Sie, a hinzuzufügen .eslintrc.json Datei zu Ihrem Projekt. Im Inneren:

{
    "parserOptions": {
        "ecmaVersion": "latest"
    },

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

Hoffentlich hilft das.

EDIT: Habe ich auch gefunden dieses Beispiel .eslintrc.json was helfen könnte.

  • Diese Optionen werden in dieser offiziellen Dokumentation erklärt: Sprachoptionen – ESLint – eslint.org/docs/user-guide/configuring/language-options

    – Shuuji3

    4. September 2021 um 16:41 Uhr


  • @shuuji3 Wenn es darum geht, eine Lösung für eine Fehlermeldung zu finden, ist diese Dokumentation nutzlos …. Selbst wenn Sie alle Optionen durchgehen, wird Ihnen nicht mitgeteilt, was den Fehler ausgelöst hat.

    – vanowm

    22. August um 0:28 Uhr

  • Entschuldigung, ich denke, ich wollte nur die offizielle Dokumentations-URL als Referenz bereitstellen, um das Verständnis der Antwort zu erleichtern.

    – Shuuji3

    24. August um 6:52

Sie können dies auch inline anstelle von config hinzufügen, fügen Sie es einfach zu derselben Datei hinzu, bevor Sie Ihr eigenes Deaktivierungsmaterial hinzufügen

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

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

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

  • Dies sollte imo die akzeptierte Antwort sein, die viel einfacher zu implementieren ist, da Sie Ihre Eslint-Konfiguration möglicherweise nicht einfach bearbeiten können, z. B. für Gerüst-Frameworks, Gruppenprojekte und dergleichen

    – Dudeonyx

    14. August 2021 um 11:12 Uhr


  • /* eslint-env es2020 */ ist ebenfalls verwendbar. eslint.org/docs/user-guide/configuring/language-options liste sie alle auf. Gute Antwort, da ich sie nur für JS-Konfigurationsdateien benötige, sind die anderen Dateien TypeScript mit dediziertem Parser.

    – Philho

    7. Januar um 7:43

  • Ich habe die akzeptierte Antwort implementiert, sie hat mein Problem jedoch nicht in meiner Datei karma.config.ci.js gelöst. Erst nach dem Schreiben /* eslint-env es6 */ In der ersten Codezeile war das Problem verschwunden. Vielen Dank!

    – Michail Ratner

    21. März um 11:23 Uhr

  • /* eslint-env es6 / funktioniert gut, um den konstanten Fehler zu beheben, aber / eslint-disable no-console */ deaktiviert alle Protokolle

    – Syed Tabish Ali

    28. Juni um 11:29 Uhr

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

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

Benutzer-Avatar
NeNaD

Update – ESLint v7.30.0

Mit ESLint v7.30.0können Sie verwenden latest Anstatt von 2017und es wird die neueste unterstützte ECMAScript-Version aktiviert.

“ecmaVersion”: “latest” aktiviert immer die neueste unterstützte ECMAScript-Version im Standard-Parser von ESLint.

.eslintrc.json

"parserOptions": {
  "ecmaVersion": "latest"
}

Wenn Sie Visual Code verwenden, besteht eine Möglichkeit darin, dies zur Datei settings.json hinzuzufügen:

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

Benutzer-Avatar
Dan Atkinson

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 aus dem Link erstellt, den Sie im Update angegeben haben, und habe immer noch den gleichen Fehler erhalten. Außerdem erhalte ich einen Parsing-Fehler in der .eslintrc.js: Unexpected token ':'.

Genau in diesem Teil:

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

...

Benutzer-Avatar
Curtis M

Ich hatte dieses Problem beim Update. Ich hatte auch schon eine eslintrc.json im Projekt. Ich habe gerade mein Projekt in Visual Studio Code geschlossen und es erneut geöffnet und der Fehler ist verschwunden. Es scheint VS-Code-Caches zu sein.

1312840cookie-checkeslint: Fehler Parsing-Fehler: Das Schlüsselwort „const“ ist reserviert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy