Ecmascript 6 Eslint-`分析错误:意外标记=`分配的fat箭头/属性初始值设定项错误
我使用的是arrow函数,它抱怨解析错误:Ecmascript 6 Eslint-`分析错误:意外标记=`分配的fat箭头/属性初始值设定项错误,ecmascript-6,eslint,Ecmascript 6,Eslint,我使用的是arrow函数,它抱怨解析错误: 分析错误:意外标记= 但是我的代码是有效的(如果我错了,请告诉我)。此外,我还将.eslintrc设置设置为使用es6解析: .eslintrc { "parserOptions": { "ecmaVersion": 6, } } 这是我的密码: class foo() { // Doesn't like the line below // even though it is valid:
分析错误:意外标记=
但是我的代码是有效的(如果我错了,请告诉我)。此外,我还将.eslintrc设置设置为使用es6解析:
.eslintrc
{
"parserOptions": {
"ecmaVersion": 6,
}
}
这是我的密码:
class foo() {
// Doesn't like the line below
// even though it is valid:
namedFunction = () => {
}
}
有办法解决这个错误吗?这使得该的值与特定函数的值有了很大的不同。您使用的是类字段(也称为属性初始值设定项)语法,它不是ECMAScript 2015(ES6)的一部分,也不是ES2016或2017的一部分,因此ESLint不支持。它目前是一个很好的解决方案。如果要将其与ESLint一起使用,则需要使用。该页描述了如何使用它,但要点是:
装置
$npm安装eslint babel eslint--保存开发
#或
$纱线添加eslint巴贝尔eslint-D
注意:babel eslint需要babel/core@>=7.2.0
和有效的babel配置文件才能运行。如果尚未设置此项,请参阅
安装程序
要使用babel eslint,必须在eslint配置文件中将“babel eslint”
指定为解析器(有关详细信息,请参阅)
.eslintrc.js
module.exports = {
parser: "babel-eslint",
};
使用解析器集,可以按照文档中的描述配置您的配置
我有一个非常类似的问题。就目前而言,公认的答案是正确的,而且非常有用。但我使用的是eslint配置的json版本,而不是javascript版本,因此一旦安装了babel eslint,使用:
npm i eslint babel eslint——保存开发
我必须更改json配置。现在看起来是这样的:
.eslintrc.json
{
“解析选项”:{
“es6”:正确,
“ecmaVersion”:6,
“源类型”:“模块”,
“ecmaFeatures”:{
“jsx”:正确
}
},
“解析器”:“babel eslint”,
“规则”:{
“没有未使用的变量”:0
},
“环境”:{
“浏览器”:正确,
“节点”:true
}
}
2021年,babel eslint
似乎已被弃用,取而代之的是@babel/eslint解析器
,根据:
注意:babel eslint现在是@babel/eslint解析器,并已迁移到babel monorepo
因此,要更新其他答案中的说明,您需要:
npm i eslint@babel/eslint解析器——保存开发
然后确保您在.eslintrc
中配置了解析器
键:
{
“解析器”:“@babel/eslint解析器”,
...
}
另一方面,由于OP没有提到运行时,我在节点12中运行,因此我不需要babel来传输代码,但ESlint确实需要babel来过滤代码(听起来很奇怪,但这是我的理解)。所以我还需要一个基本的babel配置,babel.config.json
:
{
“预设”:[
[
“@babel/env”,
{
“目标”:{
“节点”:“12”
}
}
]
]
}
我相信这是因为它希望您在类中使用namedFunction(){…}
但是它在我上面编写的代码的类中,对吗?