eslint: error Ошибка синтаксического анализа: ключевое слово «const» зарезервировано

188

Я получаю эту ошибку от ESLint:

error  Parsing error: The keyword 'const' is reserved

из этого кода:

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

Я попытался удалить node_modulesи переустановить все пакеты npm (как предложено здесь ), но безрезультатно.

opike
источник

Ответы:

301

По умолчанию ESLint проверяет синтаксис ES5. Вы захотите переопределить последнюю поддерживаемую версию JavaScript.

Попробуйте добавить .eslintrcфайл в ваш проект. Внутри него:

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

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

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: Я также нашел этот пример,.eslintrc который может помочь.

iamjpg
источник
10

Я использовал .eslintrc.js и добавил следующий код.

module.exports = {
    "parserOptions": {
        "ecmaVersion": 6
    }
};
Хачорнчит Songsaen
источник
6

Вы также можете добавить это встроенное вместо конфигурации, просто добавьте его в тот же файл, прежде чем добавлять свои собственные отключить вещи

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

мой случай был отключить файл и eslint-disable не работали только для меня

/* eslint-env es6 */
/* eslint-disable */
Юсеф
источник
3

У меня была такая же проблема с этой частью моего кода:

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

Та же ошибка, const - зарезервированное слово.

Дело в том, что я сделал .eslintrc.js по ссылке, которую вы дали в обновлении, и все еще получил ту же ошибку. Кроме того , я получаю сообщение об ошибке при разборе в .eslintrc.js: Unexpected token ':'.

Прямо в этой части:

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

...
Маркос Севилья
источник
2

При использовании визуального кода один из вариантов - добавить это в файл settings.json:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}
Бьёрнар Хвидстен
источник
0

В моем случае не удалось найти .eslintrcфайл, поэтому я скопировал из node_modules / .bin в корневой каталог.

fuddin
источник