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

TypeScript如何禁用特定库类型定义并自定义声明?

解决方法

要让TypeScript优先读取你的自定义声明文件,覆盖npm包自带的过时d.ts,按以下步骤操作:

1. 放置自定义声明文件

在项目根目录新建types文件夹,在其中创建与目标包同名的声明文件,比如types/package.d.ts,内容如下:

declare module "package" {
    const Package: any;
    export = Package;
}

注意:模块名"package"必须和你实际import的包名完全一致(包括大小写)。

2. 配置tsconfig.json

修改tsconfig.json,让TypeScript优先扫描你的自定义声明目录,并确保文件被编译器纳入范围:

{
  "compilerOptions": {
    // 保留你原有的其他配置,新增/修改以下项
    "typeRoots": ["./types", "./node_modules/@types"], // 优先扫描本地types目录
    "baseUrl": "." // 可选,若项目已有可保留
  },
  "include": [
    "src/**/*", // 你的业务代码目录
    "types/**/*" // 纳入自定义声明文件
  ]
}

3. 验证与缓存清理

  • 尝试在代码中import目标包并任意调用其属性,TypeScript应不再因过时类型报错(因为已被any类型覆盖)。
  • 如果仍有问题,重启编辑器的TypeScript语言服务,或删除项目的缓存文件(如node_modules/.cache、.tsbuildinfo)后重新编译。

额外说明:如果全局开启skipLibCheck: true也能跳过所有库的类型检查,但这是全局设置,不如上述方法精准针对单个包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:14:54