如何禁止WebStorm自动下载JavaScript typings 并使用react-router v6类型
问题成因
WebStorm 2021.2版本自带了全局类型定义自动缓存、下载功能,对于lodash、react-dom、react-router-dom、styled-components这类高频使用的前端库,IDE会默认预下载对应类型文件存放在全局typings目录下,优先级高于项目node_modules内的类型定义。
该版本发布时react-router v6尚未成为官方推荐的稳定版本,IDE默认拉取的预下载类型为react-router v5版本,因此会出现项目已安装v6但IDE仍识别v5类型的问题,删除全局typings目录后IDE也会按照默认配置重新下载旧版类型文件。
解决方案
方案1:关闭全局类型自动下载(一劳永逸解决自动重建问题)
操作步骤如下:
- 打开WebStorm设置页:Windows/Linux路径为
File > Settings > Languages & Frameworks > JavaScript > Libraries,Mac路径为WebStorm > Preferences > Languages & Frameworks > JavaScript > Libraries - 取消勾选
Download types automatically选项 - 在上方的类型库列表中,找到全局的
@types/react-router-dom、@types/lodash等你不需要的全局类型,取消勾选或者直接选中点击删除按钮 - 保存设置后删除全局
typings目录,IDE不会再自动下载类型文件,会优先读取项目node_modules内安装的对应库的类型定义
方案2:仅调整类型优先级(不关闭自动下载功能)
如果不想关闭全局类型自动下载,仅需要修复react-router v6类型识别问题,可按以下操作:
- 进入上述的JavaScript Libraries设置页
- 在类型库列表中找到全局的
react-router-dom/@types/react-router-dom项,取消对应勾选即可 - 保存设置后IDE会自动识别项目内安装的react-router v6自带的类型定义,不需要额外安装第三方类型包


内容的提问来源于stack exchange,提问作者伊豆湖卧烟
相关产品推荐
相关产品推荐

