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
    }
}

Сподіваємось, це допомагає.

EDIT: Я також знайшов цей приклад,.eslintrc який може допомогти.



6

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

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

у моєму випадку було вимкнено файл, а eslint-ones не працювали лише для мене

/* 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 в root.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.