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

如何在非TypeScript项目中通过d.ts实现JavaScript智能提示

问题解决指南

一、无需npm/bower解决jQuery引用找不到的问题

你当前用的/// <reference types="jquery" />是依赖npm安装的@types/jquery类型包,既然不想用包管理工具,直接换成本地文件引用即可:

  • 找到%LOCALAPPDATA%\Microsoft\TypeScript里的jquery类型文件路径(比如C:\Users\你的用户名\AppData\Local\Microsoft\TypeScript\jquery\3.5.11\jquery.d.ts)
  • 修改KatApp.d.ts里的引用语句为绝对路径引用:
    /// <reference path="C:/Users/你的用户名/AppData/Local/Microsoft/TypeScript/jquery/3.5.11/jquery.d.ts" />
    
  • 或者更稳妥的方式:把该jquery.d.ts复制到Web Forms项目的某个固定目录(比如Scripts/Typings),然后用相对路径引用:
    /// <reference path="./Scripts/Typings/jquery.d.ts" />
    

二、智能提示仅打开d.ts时生效的问题(非预期行为)

这不是正常现象,是VS的JavaScript语言服务没自动加载你的KatApp.d.ts导致的,解决方法:

  1. 调整文件位置:把KatApp.d.ts放到项目的Scripts目录或根目录下,VS默认会扫描这些目录的类型定义文件。
  2. 添加jsconfig.json配置:在Web Forms项目根目录创建jsconfig.json文件,明确指定要加载的类型文件:
    {
      "compilerOptions": {
        "checkJs": true // 启用JavaScript类型检查,配合@type标注生效
      },
      "include": [
        "./Scripts/**/*", // 扫描Scripts下所有文件
        "./KatApp.d.ts"   // 明确加载你的类型定义文件
      ]
    }
    
    保存后重启VS,语言服务会自动加载该文件,不用打开也能触发智能提示。

三、原TS项目其他接口未包含的风险

如果这些接口是KatApp类的依赖项(比如方法参数、返回值用到了这些接口),那必须把它们也添加到KatApp.d.ts里,否则在使用KatApp时会出现类型缺失、智能提示不全的问题。你可以:

  • 调整原TS项目的tsconfig.json,确保declaration模式下所有依赖类型都被输出到d.ts文件中;
  • 手动把缺失的接口复制到KatApp.d.ts里,放在KatApp类定义之前。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:06:33