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

VS2022升级至17.7.x后Yarn自定义目录的@types/jquery无法被TS识别

解决VS2022 17.7.x中TypeScript找不到@types/jquery类型的问题

问题概述

开发TypeScript模块时使用了JQuery<HTMLElement>类型,通过Yarn将@types/jquery安装到自定义目录wwwroot/lib,但升级Visual Studio 2022到17.7.x版本后,TypeScript编译器抛出TS2304: cannot find name 'JQuery'错误,17.6.x版本可正常编译。

解决方案

1. 修正tsconfig.json的类型解析配置

TypeScript默认从node_modules/@types查找类型定义,需手动指定自定义目录:

  • 配置typeRoots指向你的类型文件目录:
    {
      "compilerOptions": {
        "typeRoots": ["./wwwroot/lib/@types"]
      }
    }
    
  • 或者仅显式引入jquery类型:
    {
      "compilerOptions": {
        "types": ["jquery"]
      }
    }
    

2. 验证@types/jquery安装完整性

确认wwwroot/lib/@types/jquery目录存在,且包含index.d.ts等核心类型文件,若文件缺失,重新执行安装命令:

yarn add @types/jquery --dev

3. 调整VS2022的TypeScript构建设置

打开项目属性 → 「TypeScript Build」:

  • 将「Module Resolution」设置为Node或NodeNext,确保编译器能正确解析自定义模块路径。
  • 检查「TypeRoots」输入框内容,确保和tsconfig.json中的配置一致,避免VS覆盖配置文件设置。

4. 清理缓存并重启VS

  • 删除项目根目录下的.vs隐藏文件夹。
  • 打开「工具」→「选项」→「项目和解决方案」→「Web Package Management」→「Package Cache」,点击「Clear Cache」。
  • 重启Visual Studio后重新构建项目。

5. 添加模块路径映射(可选)

若上述方法无效,在tsconfig.json中配置baseUrl和paths:

{
  "compilerOptions": {
    "baseUrl": "./wwwroot/lib",
    "paths": {
      "@types/*": ["@types/*"]
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:32:40