Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何配置ESLint以使用例如event.target和element.parentNode?_Javascript_Ecmascript 6_Visual Studio Code_Eslint_Eslintrc - Fatal编程技术网

Javascript 如何配置ESLint以使用例如event.target和element.parentNode?

Javascript 如何配置ESLint以使用例如event.target和element.parentNode?,javascript,ecmascript-6,visual-studio-code,eslint,eslintrc,Javascript,Ecmascript 6,Visual Studio Code,Eslint,Eslintrc,编辑:我没有意识到错误消息甚至不是来自ESLint,而是来自Visual Studio代码中名为[js]的东西。我想删除这个问题,但这可能会帮助其他人将[js]输出误认为是ESLint。仍然想知道这件事是什么样的过程 我的任务是定义一个项目范围的.eslintrc.js文件,以确保团队的代码符合通用标准 使用预设运行ESLintESLint:recommended会显示以下错误消息 The property "parentNode" does not exist for the type "Ev

编辑:我没有意识到错误消息甚至不是来自ESLint,而是来自Visual Studio代码中名为[js]的东西。我想删除这个问题,但这可能会帮助其他人将[js]输出误认为是ESLint。仍然想知道这件事是什么样的过程

我的任务是定义一个项目范围的.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;
  /* ... */
})
我知道可能存在
事件。目标
不是
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(据我所知,ESLint是用于ES6的)。

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

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

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


挑剔:流类型可以在注释中注释,所以它是纯JavaScript。但是,是的,这似乎是一个奇怪的linter错误。似乎ESLint试图提供类型安全性,这对于linter来说似乎有点过于雄心勃勃。这看起来像是TypeScript而不是ESLint,也许这是您的IDE试图隐式键入提示代码?@connexo我也有点怀疑消息是否真的来自eslint请关闭此窗口,因为我没有意识到错误消息甚至不是来自eslint,而是来自Visual Studio代码中名为
[js]
的东西。我会删除它,但这可能会帮助其他人将[js]输出误认为是ESLint。