我从ESLint收到此错误:
error Parsing error: The keyword 'const' is reserved
来自此代码:
const express = require('express');
const app = express();
const _ = require('underscore');
我已尝试删除node_modules
并重新安装所有npm包(如建议的here),但无效。
答案 0 :(得分:201)
ESLint默认使用ES5语法检查。您需要覆盖最新的支持良好的JavaScript版本。
尝试在项目中添加.eslintrc
文件。在里面:
{
"parserOptions": {
"ecmaVersion": 2017
},
"env": {
"es6": true
}
}
希望这有帮助。
编辑:我还发现了this example .eslintrc
可能有所帮助。
答案 1 :(得分:6)
我使用了.eslintrc.js,并添加了以下代码。
module.exports = {
"parserOptions": {
"ecmaVersion": 6
}
};
答案 2 :(得分:2)
您还可以添加此内联而不是配置,只需在添加自己的禁用内容之前将其添加到同一文件中
/* eslint-env es6 */
/* eslint-disable no-console */
我的案例是禁用文件,而eslint-disable不适用于我
/* eslint-env es6 */
/* eslint-disable */
答案 3 :(得分:0)
我的代码的这一部分也有同样的问题:
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
},
...
答案 4 :(得分:0)
如果使用Visual Code,一种选择是将其添加到settings.json文件:
"eslint.options": {
"useEslintrc": false,
"parserOptions": {
"ecmaVersion": 2017
},
"env": {
"es6": true
}
}
答案 5 :(得分:0)
就我而言,它找不到.eslintrc
文件,因此我从node_modules / .bin复制到了根目录。
答案 6 :(得分:0)
请在此文件 .eslintrc.js 中使用此语法。 如果它不存在,那么你必须创建一个。另外,请先通过编写这些步骤npm install --save-dev eslint,寻找有关如何将 eslint 作为开发依赖项安装到当前项目的步骤 然后在项目根目录中创建 .eslintrc.js 文件。
{
"parserOptions": {
"ecmaVersion": 2017
},
"env": {
"es6": true
}
}