eslint: erreur Erreur d'analyse: le mot-clé 'const' est réservé

188

J'obtiens cette erreur d'ESLint:

error  Parsing error: The keyword 'const' is reserved

à partir de ce code:

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

J'ai essayé de supprimer node_moduleset de réinstaller tous les packages npm (comme suggéré ici ), mais en vain.

opike
la source

Réponses:

301

ESLint utilise par défaut la vérification de la syntaxe ES5. Vous voudrez passer à la dernière version bien prise en charge de JavaScript.

Essayez d'ajouter un .eslintrcfichier à votre projet. À l'intérieur:

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

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

Espérons que cela aide.

EDIT: J'ai également trouvé cet exemple.eslintrc qui pourrait aider.

iamjpg
la source
10

J'ai utilisé .eslintrc.js et j'ai ajouté le code suivant.

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

vous pouvez également ajouter ceci en ligne au lieu de config, ajoutez-le simplement au même fichier avant d'ajouter vos propres éléments de désactivation

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

mon cas était de désactiver un fichier et eslint-disable ne fonctionnait pas pour moi seul

/* eslint-env es6 */
/* eslint-disable */
yousef
la source
3

J'ai eu ce même problème avec cette partie de mon code:

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

Même erreur, const est un mot réservé.

Le fait est que j'ai créé le .eslintrc.js à partir du lien que vous avez donné dans la mise à jour et que j'ai toujours la même erreur. En outre, je reçois une erreur d' analyse syntaxique .eslintrc.js: Unexpected token ':'.

Juste dans cette partie:

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

...
Marcos Séville
la source
2

Si vous utilisez Visual Code, une option consiste à l'ajouter au fichier settings.json:

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

Dans mon cas, il n'a pas pu trouver le .eslintrcfichier, j'ai donc copié de node_modules / .bin vers root.

fuddin
la source