我从ESLint收到此错误:
error Parsing error: The keyword 'const' is reserved
从这个代码:
const express = require('express'); const app = express(); const _ = require('underscore');
我试过删除node_modules并重新安装所有的npm包(按照here的建议),但没有效果。
node_modules
gywdnpxw1#
ESLint默认为ES5语法检查。您可能希望覆盖到JavaScript的最新受良好支持的版本。尝试将.eslintrc.json文件添加到您的项目中。
.eslintrc.json
{ "parserOptions": { "ecmaVersion": "latest" }, "env": { "es6": true } }
希望这能帮上忙。编辑:我还找到了this example .eslintrc.json,这可能会有帮助。
btqmn9zl2#
你也可以添加这个inline而不是config,在你添加你自己的disable的东西之前把它添加到同一个文件中
/* eslint-env es6 */ /* eslint-disable no-console */
我案例是禁用一个文件,eslint-disable并不适用于我
/* eslint-env es6 */ /* eslint-disable */
ddhy6vgd3#
我使用了. eslintrc.js并添加了以下代码。
module.exports = { "parserOptions": { "ecmaVersion": 6 } };
hs1ihplo4#
v7.30.0
通过ESLint v7.30.0,您可以使用latest而不是2017,并且它将启用最新的受支持ECMAScript版本。"ecma版本":"latest"始终启用ESLint默认解析器中支持的最新ECMAScript版本。
latest
2017
"parserOptions": { "ecmaVersion": "latest" }
yhxst69z5#
如果使用可视化代码,一个选项是将其添加到settings.json文件:
"eslint.options": { "useEslintrc": false, "parserOptions": { "ecmaVersion": 2017 }, "env": { "es6": true } }
nc1teljy6#
我的这部分代码也遇到了同样的问题:
const newComment = { dishId: dishId, rating: rating, author: author, comment: comment }; newComment.date = new Date().toISOString();
同样的错误,const是保留字。问题是,我从你在更新中给出的链接创建了. eslintrc.js,但仍然得到了同样的错误。而且,我在.eslintrc.js中得到了一个解析错误:Unexpected token ':'.就在这部分:
.eslintrc.js
Unexpected token ':'
"env": { "browser": true, "node": true, "es6": true }, ...
laawzig27#
我在更新时遇到了这个问题。我在项目中已经有了一个eslintrc.json。我只是在Visual Studio代码中关闭了我的项目,然后重新打开它,错误就消失了。它似乎是VS代码缓存。
uplii1fm8#
我在**.eslintrc.json**中使用了accepted answer中提到的配置:
{ parserOptions: { "ecmaVersion": "latest" }, env: { "es6": true } }
但这还不够,您还需要在**.eslintrc.json文件中将overrides重命名为overrideConfig**:
"overrideConfig": [ <-- after renaming { "files": [ "*.ts" ], "parserOptions": { "project": [ "tsconfig.json", "e2e/tsconfig.json" ], "ecmaVersion": "latest", "sourceType": "module", "createDefaultProgram": true }, "env": { "es6": true } ...
当然,前提是在您的settings.json中省略了useEslintrc参数(或将其设置为true)
ukqbszuj9#
在我的例子中,它无法找到.eslintrc文件,所以我从node_modules/.bin复制到root。
.eslintrc
9条答案
按热度按时间gywdnpxw1#
ESLint默认为ES5语法检查。
您可能希望覆盖到JavaScript的最新受良好支持的版本。
尝试将
.eslintrc.json
文件添加到您的项目中。希望这能帮上忙。
编辑:我还找到了this example
.eslintrc.json
,这可能会有帮助。btqmn9zl2#
你也可以添加这个inline而不是config,在你添加你自己的disable的东西之前把它添加到同一个文件中
我案例是禁用一个文件,eslint-disable并不适用于我
ddhy6vgd3#
我使用了. eslintrc.js并添加了以下代码。
hs1ihplo4#
更新-ESLint
v7.30.0
通过ESLint
v7.30.0
,您可以使用latest
而不是2017
,并且它将启用最新的受支持ECMAScript版本。"ecma版本":"latest"始终启用ESLint默认解析器中支持的最新ECMAScript版本。
yhxst69z5#
如果使用可视化代码,一个选项是将其添加到settings.json文件:
nc1teljy6#
我的这部分代码也遇到了同样的问题:
同样的错误,const是保留字。
问题是,我从你在更新中给出的链接创建了. eslintrc.js,但仍然得到了同样的错误。而且,我在
.eslintrc.js
中得到了一个解析错误:Unexpected token ':'
.就在这部分:
laawzig27#
我在更新时遇到了这个问题。我在项目中已经有了一个eslintrc.json。我只是在Visual Studio代码中关闭了我的项目,然后重新打开它,错误就消失了。它似乎是VS代码缓存。
uplii1fm8#
我在**.eslintrc.json**中使用了accepted answer中提到的配置:
但这还不够,您还需要在**.eslintrc.json文件中将overrides重命名为overrideConfig**:
当然,前提是在您的settings.json中省略了useEslintrc参数(或将其设置为true)
ukqbszuj9#
在我的例子中,它无法找到
.eslintrc
文件,所以我从node_modules/.bin复制到root。