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 (как предложено здесь ), но безрезультатно.

Ответы:


301

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

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

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

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

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

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



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 в корневой каталог.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.