eslint: error Parsing error: The keyword 'const' is reserved
eslint: error Parsing error: The keyword 'const' is reserved
我从 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": 2017
},
"env": {
"es6": true
}
}
希望这对您有所帮助。
编辑:我还发现 this example .eslintrc.json
这可能有帮助。
我使用了 .eslintrc.js 并添加了以下代码。
module.exports = {
"parserOptions": {
"ecmaVersion": 6
}
};
我的这部分代码遇到了同样的问题:
const newComment = {
dishId: dishId,
rating: rating,
author: author,
comment: comment
};
newComment.date = new Date().toISOString();
同样的错误,const是保留字。
问题是,我根据您在更新中提供的 link 创建了 .eslintrc.js,但仍然出现相同的错误。此外,我在 .eslintrc.js
: Unexpected token ':'
中遇到解析错误。
这部分右边:
"env": {
"browser": true,
"node": true,
"es6": true
},
...
你也可以添加这个内联而不是配置,只需在添加你自己的禁用内容之前将它添加到同一个文件中
/* eslint-env es6 */
/* eslint-disable no-console */
我的情况是禁用了一个文件,而 eslint-disable 并不适合我一个人
/* eslint-env es6 */
/* eslint-disable */
如果使用 Visual Code,一种选择是将其添加到 settings.json 文件中:
"eslint.options": {
"useEslintrc": false,
"parserOptions": {
"ecmaVersion": 2017
},
"env": {
"es6": true
}
}
在我的例子中,找不到 .eslintrc
文件,所以我从 node_modules/.bin 复制到根目录。
我在更新的时候遇到了这个问题。我在项目中也已经有一个 eslintrc.json。我刚刚在 Visual Studio 代码中关闭了我的项目并重新打开它,错误消失了。似乎 VS 代码缓存。
更新 - ESLint v7.30.0
使用 ESLint v7.30.0
,您可以使用 latest
而不是 2017
,它将启用最新支持的 ECMAScript 版本。
"ecmaVersion": "latest" always enables the latest supported ECMAScript
version in ESLint's default parser.
.eslintrc.json
"parserOptions": {
"ecmaVersion": "latest"
}
我从 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": 2017
},
"env": {
"es6": true
}
}
希望这对您有所帮助。
编辑:我还发现 this example .eslintrc.json
这可能有帮助。
我使用了 .eslintrc.js 并添加了以下代码。
module.exports = {
"parserOptions": {
"ecmaVersion": 6
}
};
我的这部分代码遇到了同样的问题:
const newComment = {
dishId: dishId,
rating: rating,
author: author,
comment: comment
};
newComment.date = new Date().toISOString();
同样的错误,const是保留字。
问题是,我根据您在更新中提供的 link 创建了 .eslintrc.js,但仍然出现相同的错误。此外,我在 .eslintrc.js
: Unexpected token ':'
中遇到解析错误。
这部分右边:
"env": {
"browser": true,
"node": true,
"es6": true
},
...
你也可以添加这个内联而不是配置,只需在添加你自己的禁用内容之前将它添加到同一个文件中
/* eslint-env es6 */
/* eslint-disable no-console */
我的情况是禁用了一个文件,而 eslint-disable 并不适合我一个人
/* eslint-env es6 */
/* eslint-disable */
如果使用 Visual Code,一种选择是将其添加到 settings.json 文件中:
"eslint.options": {
"useEslintrc": false,
"parserOptions": {
"ecmaVersion": 2017
},
"env": {
"es6": true
}
}
在我的例子中,找不到 .eslintrc
文件,所以我从 node_modules/.bin 复制到根目录。
我在更新的时候遇到了这个问题。我在项目中也已经有一个 eslintrc.json。我刚刚在 Visual Studio 代码中关闭了我的项目并重新打开它,错误消失了。似乎 VS 代码缓存。
更新 - ESLint v7.30.0
使用 ESLint v7.30.0
,您可以使用 latest
而不是 2017
,它将启用最新支持的 ECMAScript 版本。
"ecmaVersion": "latest" always enables the latest supported ECMAScript version in ESLint's default parser.
.eslintrc.json
"parserOptions": {
"ecmaVersion": "latest"
}