我从ESLint得到这个错误:
error Parsing error: The keyword 'const' is reserved
从这段代码:
const express = require('express');
const app = express();
const _ = require('underscore');
我已经尝试删除node_modules并重新安装所有npm包(如这里所建议的),但没有效果。
我从ESLint得到这个错误:
error Parsing error: The keyword 'const' is reserved
从这段代码:
const express = require('express');
const app = express();
const _ = require('underscore');
我已经尝试删除node_modules并重新安装所有npm包(如这里所建议的),但没有效果。
当前回答
ESLint默认为ES5语法检查。 您需要重写到最新的受良好支持的JavaScript版本。
尝试向项目中添加.eslintrc.json文件。里面:
{
"parserOptions": {
"ecmaVersion": "latest"
},
"env": {
"es6": true
}
}
希望这能有所帮助。
编辑:我还找到了这个例子.eslintrc.json,这可能会有所帮助。
其他回答
你也可以添加这个内联而不是配置,只是在添加你自己禁用的东西之前把它添加到同一个文件中
/* eslint-env es6 */
/* eslint-disable no-console */
我的情况是禁用一个文件和eslint禁用不是为我工作
/* eslint-env es6 */
/* eslint-disable */
我在这部分代码中遇到了同样的问题:
const newComment = {
dishId: dishId,
rating: rating,
author: author,
comment: comment
};
newComment.date = new Date().toISOString();
同样的错误,const是一个保留字。
问题是,我从你在更新中给出的链接中创建了.eslintrc.js,仍然得到了相同的错误。此外,我在.eslintrc.js: Unexpected令牌':'中得到一个解析错误。
就在这部分:
"env": {
"browser": true,
"node": true,
"es6": true
},
...
我在更新时遇到了这个问题。我有一个eslintrc。Json也已经在项目中了。我刚刚在Visual Studio Code中关闭了我的项目,然后重新打开它,错误就消失了。好像是VS Code缓存。
更新- ESLint v7.30.0
在ESLint v7.30.0中,你可以使用latest而不是2017,它将启用最新支持的ECMAScript版本。
"ecmaVersion": "latest"始终启用最新支持的ECMAScript 在ESLint的默认解析器中。
.eslintrc.json
"parserOptions": {
"ecmaVersion": "latest"
}
在我的情况下,它无法找到.eslintrc文件,所以我从node_modules/.bin复制到根目录。