class 中的 ESLint 使用 airbnb 规则带有粗箭头
ESLint in class with fat arrow using airbnb rules
以下代码位于扩展 React.Component
的 class 中
nextState = () => {
this.setState({
state : this.state.state + 1
});
};
然而,带有 airbnb 规则的 ESLint 捕获了这个并抛出以下错误:
error Parsing error: Unexpected token =
我想保留此语法,因为它允许我避免在构造函数中绑定 this
。
您需要指定语言选项。供参考:http://eslint.org/docs/user-guide/configuring#specifying-language-options
您也可以在 .eslintrc
文件中使用一个命令来完成此操作。
{
"env": {
"es6": true,
"node": true
}
}
我为这个问题苦恼了好一阵子。
我发现 .eslintrc
的这种配置适用于您的问题。
{
"extends": "airbnb",
"parser": "babel-eslint"
}
它与带有 SublimeLinter-contrib-eslint 的 Sublime Text 3 配合得很好。
请注意,您需要npm install -g eslint babel-eslint
将.eslintrc
放入~/
进行全局配置,将.eslintrc
放入app文件夹覆盖全局配置。
还要注意:里面的赋值操作class不是es6的一部分,看这个link讨论
以下代码位于扩展 React.Component
nextState = () => {
this.setState({
state : this.state.state + 1
});
};
然而,带有 airbnb 规则的 ESLint 捕获了这个并抛出以下错误:
error Parsing error: Unexpected token =
我想保留此语法,因为它允许我避免在构造函数中绑定 this
。
您需要指定语言选项。供参考:http://eslint.org/docs/user-guide/configuring#specifying-language-options
您也可以在 .eslintrc
文件中使用一个命令来完成此操作。
{
"env": {
"es6": true,
"node": true
}
}
我为这个问题苦恼了好一阵子。
我发现 .eslintrc
的这种配置适用于您的问题。
{
"extends": "airbnb",
"parser": "babel-eslint"
}
它与带有 SublimeLinter-contrib-eslint 的 Sublime Text 3 配合得很好。
请注意,您需要npm install -g eslint babel-eslint
将.eslintrc
放入~/
进行全局配置,将.eslintrc
放入app文件夹覆盖全局配置。
还要注意:里面的赋值操作class不是es6的一部分,看这个link讨论