【问题标题】:Eslint disable line throws errorEslint 禁用行抛出错误
【发布时间】:2016-05-06 10:02:38
【问题描述】:

我遇到了来自 eslint 的 disable-line 问题...或者它可能是一个错误的配置。

这是我的设置:

.eslintrc
{
  "extends": "airbnb",
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 6,
    "ecmaFeatures": {
      "experimentalObjectRestSpread": true
    }
  }
}
    this.input.addEventListener('keypress', ({ target: { value } }) => { // eslint-disable-line
      store.dispatch(changeText({ value }));
    });

结果:

app.tag.js 48:54 错误解析错误:Unexpected token

这正是我试图禁用的行, 有什么想法可能导致这种情况吗?

提前感谢:)

【问题讨论】:

  • 您要禁用哪个功能?
  • 您应该将eslint-disable-line 放在您尝试禁用的同一行中:store.dispatch(changeText({ value })); // eslint-disable-line
  • ^^ 确实,或者用eslint-disable-next-line替换你所拥有的。
  • store.dispatch(changeText({ event.target.value })); 不如就这么用吧
  • 错误是解析错误,所以我认为esline-disable-lineeslint-disable-next-line 不会有帮助;即使你禁用了规则,ESLint 仍然必须能够解析代码。

标签: javascript ecmascript-6 eslint


【解决方案1】:

这是一个解析错误eslint-disable-line 告诉 ESLint 禁用其对一行的规则,但 ESLint 仍然必须能够解析代码。

有问题的行:

this.input.addEventListener('keypress', ({ target: { value } }) => {

...依赖于解析器理解复杂的 ES2015 解构参数。显然,您正在使用的 ESLint 版本不知道如何解析这些(还)。 (你的语法是有效的,所以这不是你的问题。它是 ESLint 解析器。)

【讨论】:

  • 好像是这样!顺便说一句,我使用的版本是:2.9.0 :)
猜你喜欢
  • 2018-08-06
  • 1970-01-01
  • 2016-09-09
  • 2022-01-11
  • 2018-12-23
  • 1970-01-01
  • 2018-06-04
  • 2021-05-01
  • 2021-03-08
相关资源
最近更新 更多