You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JS/TS中对事件监听器类型进行Lint检查?

针对DOM标准事件类型的Lint检查方案

1. ESLint插件全局校验

用eslint-plugin-dom插件就能解决这个问题,它自带的dom/no-invalid-event-name规则会自动检查addEventListener的事件名是否符合DOM标准定义。

操作步骤:

  • 安装插件:npm install eslint-plugin-dom --save-dev
  • 在ESLint配置文件(比如.eslintrc.js)里添加配置:
module.exports = {
  plugins: ['dom'],
  rules: {
    'dom/no-invalid-event-name': 'error'
  }
}

之后再写错事件名(比如unhandledRejection),ESLint会直接抛出错误,从源头避免拼写问题。

2. TypeScript类型校验(更推荐)

如果你的项目用TypeScript,不用额外配置Lint规则——TS本身的类型系统就能拦截这类错误。

window.addEventListener的事件参数基于WindowEventMap类型,所有标准DOM事件名都在这个类型里定义。当你写出unhandledRejection这种错误名称时,TS会立刻抛出类型错误,编辑器也会实时提示,根本不用等到调试阶段才发现问题。

关于TSLint的说明

TSLint已经停止维护,官方推荐迁移到ESLint + TypeScript ESLint插件的组合,既能利用ESLint丰富的插件生态,又能结合TS的类型校验,比单独使用TSLint更可靠。

内容的提问来源于stack exchange,提问作者Patrick Kenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:52:14