eslint: error Erro de análise: A palavra-chave 'const' está reservada

188

Estou recebendo este erro do ESLint:

error  Parsing error: The keyword 'const' is reserved

deste código:

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

Tentei remover node_modulese reinstalar todos os pacotes npm (como sugerido aqui ), mas sem sucesso.

opike
fonte

Respostas:

301

O ESLint assume como padrão a verificação de sintaxe ES5. Você deseja substituir a versão mais recente e bem suportada do JavaScript.

Tente adicionar um .eslintrcarquivo ao seu projeto. Dentro dele:

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

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

Espero que isso ajude.

Edição: Eu também encontrei este exemplo.eslintrc que pode ajudar.

iamjpg
fonte
10

Eu usei .eslintrc.js e adicionei o seguinte código.

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

você também pode adicionar este inline em vez de config, basta adicioná-lo ao mesmo arquivo antes de adicionar seu próprio material de desativação

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

meu caso foi desabilitar um arquivo e eslint-disable não estava funcionando sozinho

/* eslint-env es6 */
/* eslint-disable */
yousef
fonte
3

Eu tive esse mesmo problema com esta parte do meu código:

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

Mesmo erro, const é uma palavra reservada.

O problema é que eu criei o .eslintrc.js a partir do link que você deu na atualização e ainda tem o mesmo erro. Além disso, eu recebo um erro de análise no .eslintrc.js: Unexpected token ':'.

Bem nesta parte:

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

...
Marcos Sevilla
fonte
2

Se estiver usando o Código Visual, uma opção é adicioná-lo ao arquivo settings.json:

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

No meu caso, não foi possível encontrar o .eslintrcarquivo, então copiei do node_modules / .bin para o root.

fuddin
fonte