eslint:错误解析错误:保留关键字“ const”


187

我从ESLint收到此错误:

error  Parsing error: The keyword 'const' is reserved

从此代码:

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

我试着删除node_modules并重新安装所有NPM包(如建议在这里),但无济于事。

Answers:


300

ESLint默认为ES5语法检查。您将要覆盖到最新的受支持的JavaScript版本。

尝试将.eslintrc文件添加到您的项目。在里面:

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

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

希望这会有所帮助。

编辑:我也发现了这个例子.eslintrc可能会有所帮助。


10

我使用了.eslintrc.js,并添加了以下代码。

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

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.jsUnexpected token ':'

就在这部分:

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

...

2

如果使用Visual Code,一种选择是将其添加到settings.json文件:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}

0

就我而言,它找不到.eslintrc文件,因此我从node_modules / .bin复制到了根目录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.