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

非TypeScript环境下是否需@types/*?Vite React项目依赖疑问

关于@types/*依赖的两个问题解答

问题1:不使用TypeScript时,是否需要@types/*类依赖?

简单来说:不是必须,但要看你的工具链需求。

  • @types/*包本质是TypeScript的类型定义文件,如果你完全不用TS,也没有任何工具依赖这些类型信息,那确实可以移除它们,不会影响项目运行。
  • 但实际开发中,很多常用工具(比如ESLint的React相关插件、编辑器的智能提示)会依赖这些类型定义来提供更精准的功能:比如ESLint插件用它校验React API的正确用法,编辑器用它给出组件props、hooks参数的智能提示。这种情况下,保留@types/*能提升开发体验。

问题2:Vite React模板(非TS)为何自动包含@types/react和@types/react-dom?

看你给出的devDependencies,项目默认集成了完整的ESLint React校验套件(eslint-plugin-react、eslint-plugin-react-hooks等)。
这些ESLint插件在工作时,需要读取React和React-DOM的类型定义,才能准确识别:

  • React组件的props结构是否合规
  • Hooks的依赖数组是否正确
  • React API的调用方式是否符合规范
    Vite的react模板默认配置了这套能提升代码质量的ESLint规则,所以会自动把@types/react和@types/react-dom作为dev依赖引入,确保ESLint能正常工作,同时也能给编辑器提供更好的智能提示,哪怕你不用TypeScript。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:42:34