代码之家  ›  专栏  ›  技术社区  ›  connexo

如何配置ESLint以使用例如event。目标和元素。父节点?

  •  5
  • connexo  · 技术社区  · 6 年前

    编辑: Visual Studio代码 。我会删除这个问题,但这可能会帮助其他人将[js]输出误认为是ESLint。仍然想知道这是什么样的过程 [js] 事情是这样的。

    我被赋予了定义项目范围的任务。eslintrc。js文件,以确保团队的代码符合通用标准。

    使用预设运行ESLint eslint:recommended

    The property "parentNode" does not exist for the type "EventTarget".
    

    这是一段有问题的代码:

    window.addEventListener('keydown', event => {
      const currentTag = event.target.parentNode.tagName;
      /* ... */
    })
    

    我知道可能有 event.target 是的 HTMLElement s 但我应该如何编写代码或配置ESLint,以便这一行不再产生ESLint错误?只要ESLint报告任何错误,我们就计划让构建失败,所以 必须 得到解决。

    导致类似错误的第二行代码:

    document.activeElement.click();
    

    导致ESLint错误

    The property "click" does not exist for the type "Element".
    

    第三个示例:

    const rows = this.childNodes[1].querySelectorAll('tr');
    

    投掷

    The property "querySelectorAll" does not exist for the type "Node & ChildNode".
    

    注意:请不要建议使用flow或Typescript,代码将保持纯ES6(我理解 ES公司 棉绒用于)。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Karen Grigoryan    6 年前

    根据OP,代码包含//@ts check作为第一行

    因此很明显,这与单独的eslint无关,而是由内部 VSCode linter

    在JavaScript文件中启用类型检查的最简单方法是在文件顶部添加//@ts check。

    推荐文章