eslint: errore Errore di analisi: la parola chiave "const" è riservata


188

Ricevo questo errore da ESLint:

error  Parsing error: The keyword 'const' is reserved

da questo codice:

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

Ho provato a rimuovere node_modulese reinstallare tutti i pacchetti npm (come suggerito qui ), ma senza risultati.

Risposte:


301

ESLint utilizza per impostazione predefinita il controllo della sintassi ES5. Ti consigliamo di sostituire l'ultima versione ben supportata di JavaScript.

Prova ad aggiungere un .eslintrcfile al tuo progetto. Dentro:

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

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

Speriamo che questo aiuti.

EDIT: ho anche trovato questo esempio.eslintrc che potrebbe aiutare.


10

Ho usato .eslintrc.js e ho aggiunto il seguente codice.

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

6

puoi anche aggiungere questo inline invece di config, basta aggiungerlo allo stesso file prima di aggiungere le tue cose di disabilitazione

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

il mio caso era disabilitare un file e eslint-disable non funzionava solo per me

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

3

Ho avuto lo stesso problema con questa parte del mio codice:

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

Stesso errore, const è una parola riservata.

Il fatto è che ho creato il file .eslintrc.js dal link che hai fornito nell'aggiornamento e ho comunque riscontrato lo stesso errore. Inoltre, ottengo un errore di analisi nel .eslintrc.js: Unexpected token ':'.

Proprio in questa parte:

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

...

2

Se si utilizza Visual Code, un'opzione è quella di aggiungere questo al file settings.json:

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

0

Nel mio caso, non è stato possibile trovare il .eslintrcfile, quindi l'ho copiato da node_modules / .bin alla radice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.