con*_*exo 5 javascript ecmascript-6 eslint visual-studio-code eslintrc
编辑:我没有意识到错误消息甚至不是来自ESLint,而是来自Visual Studio Code中的 [js] .我会删除这个问题,但它可能会帮助其他人误解ESLint的[js]输出.仍然很想知道这[js]件事是什么样的过程.
我被告知要定义一个项目范围的.eslintrc.js文件,以确保团队的代码符合通用标准.
使用预设运行ESLint eslint:recommended会给出以下错误消息
The property "parentNode" does not exist for the type "EventTarget".
Run Code Online (Sandbox Code Playgroud)
这是有问题的代码:
window.addEventListener('keydown', event => {
const currentTag = event.target.parentNode.tagName;
/* ... */
})
Run Code Online (Sandbox Code Playgroud)
我知道可能有event.targets 不是 HTMLElement s,但我应该如何编码 - 或配置ESLint - 所以这一行不再产生ESLint错误?只要ESLint报告任何错误,我们就计划让构建失败,因此必须解决这个问题.
导致类似错误的第二行代码:
document.activeElement.click();
Run Code Online (Sandbox Code Playgroud)
导致ESLint错误
The property "click" does not exist for the type "Element".
Run Code Online (Sandbox Code Playgroud)
第三个例子:
const rows = this.childNodes[1].querySelectorAll('tr');
Run Code Online (Sandbox Code Playgroud)
投
The property "querySelectorAll" does not exist for the type "Node & ChildNode".
Run Code Online (Sandbox Code Playgroud)
注意:请不要建议使用flow或Typescript,代码将保持纯ES6(我理解ES Lint用于).
根据OP,代码包含 // @ts-check 作为第一行
因此很明显,这与单独的 eslint 无关,而是由内部VSCode linter引起的
在 JavaScript 文件中启用类型检查的最简单方法是将 // @ts-check 添加到文件顶部。
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |