eslint – Optionaler Verkettungsfehler mit vscode

Lesezeit: 2 Minuten

Benutzeravatar von A. L
A. L

Ich sehe eine rote Unterstreichung, wenn ich eine optionale Kette verwende, aber der Code läuft gut, da ich mich auf Knoten 14 befinde

Hier ist mein Setup:

node 14.1.0
eslint "^6.8.0"

.eslintrc.js

module.exports = {
    "env": {
        "node": true
    },
    "extends": [
        "eslint:recommended",
    ],
    "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 2020
    },
    "rules": {
    },
}

Geben Sie hier die Bildbeschreibung ein

  • Wenn Sie den Mauszeiger über den Fehler bewegen, welche Fehlermeldung erhalten Sie?

    – Kumpel Christ

    6. Mai 2020 um 6:47 Uhr


  • @peprumo Parsing Error: Unexpected token . Bild hinzugefügt

    – A. L

    6. Mai 2020 um 7:01 Uhr

Sie brauchen nicht mehr @babel/eslint-parser wie eslint@^7.5 unterstützt jetzt optionales Chanining.

Führen Sie Folgendes aus, um eslint in Ihrem Projekt zu aktualisieren:

npm

npm install --save-dev eslint@^7.5

Garn

yarn add -D eslint@^7.5

Stellen Sie dann sicher, dass Ihre Konfiguration wie folgt ist:

.eslintrc

{
  "parserOptions": {
    "ecmaVersion": 2020
  }
}

.eslint.js

module.exports = {
    "parserOptions": {
        "ecmaVersion": 2020
    }
}

Sehen https://eslint.org/blog/2020/07/eslint-v7.5.0-released#optional-chaining-support für mehr Informationen.

  • Dies ist die richtige und aktuellste Antwort ab 2020

    – Chris

    25. November 2020 um 21:39 Uhr

Benutzeravatar von Dan Starns
Dan Starns

Du solltest benutzen @babel/eslint-parser (früher genannt babel-eslint) mit Ihrer eslint-Konfiguration. Dadurch können Sie ALLE gültigen Babel-Codes mit eslint linten. eslint unterstützt alle ES2020-Funktionen ab Version v7.2.0

$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D

Dann in deiner .eslintrc tun:

{
  parser: "@babel/eslint-parser",
}

  • ist die optionale Verkettung nicht im normalen Eslint enthalten?

    – A. L

    6. Mai 2020 um 8:05 Uhr

  • @A.Lau nicht, dass ich wüsste

    – Dan Starns

    6. Mai 2020 um 8:12 Uhr

  • Leider noch nicht. Es gibt einen Entwurf zur Unterstützung einiger der es2020-Syntaxfunktionen, optionale Verkettung ist eine davon. Sie können es hier lesen: github.com/eslint/eslint/pull/13196

    – Tzahi Leh

    21. Mai 2020 um 8:30 Uhr


  • Wohin geht dieser Parser-Schlüssel? package.json unter “eslintConfig”?

    – bot19

    1. Oktober 2020 um 7:00 Uhr


  • @ bot19 versuchen Sie es im Stammverzeichnis der eslintrc-Konfiguration hier Es ist in .eslintrc.js

    – Dan Starns

    1. Oktober 2020 um 7:02 Uhr

Benutzeravatar von Zelinskyi Bohdan
Zelinskyi Bohdan

Alle Versionen von Node.js über 12 unterstützen den Optional-Chaining-Operator (eine Funktion von ECMAScript 2020). Versuchen Sie, dies zu verwenden:

"parserOptions": {
    "ecmaVersion": 2020
}

Zunächst sollten Sie einen ESLint-Parser haben, der die optionale Verkettung unterstützt:

npm install -D @babel/eslint-parser

Wenn Sie Probleme mit Peer-Abhängigkeiten haben, führen Sie sie durch Anhängen aus --legacy-peer-deps zum Befehl.

Dann sollten Sie die ESLint-Version haben, die die optionale Verkettung unterstützt. Dies ist diese Release-Version (7.5.0):

npm install eslint@^7.5

Sagen Sie Ihrem ESLint-Server, dass er den oben installierten Parser verwenden soll:

{
  "parserOptions": {
    "ecmaVersion": 2020
  }
  ...
}

Benutzeravatar von Robin Wieruch
Robin Wieruch

Nicht alle von Babel aktivierten JavaScript-Funktionen sind in ESLint enthalten.

Sie können verwenden babel-eslint obwohl:

$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D

Dann in deiner .eslintrc tun:

{
  parser: "@babel/eslint-parser",
}

1430850cookie-checkeslint – Optionaler Verkettungsfehler mit vscode

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

Privacy policy