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

TypeScript手动导入JS文件时,如何指定对应.d.ts声明文件?

解决手动导入模块后的TypeScript声明文件警告问题

当然可以手动指定声明文件,以下是几种实用方案,既能消除警告又能保留代码自动补全:

方案1:配置tsconfig路径映射

在项目的tsconfig.json里,给compilerOptions添加paths配置,把你手动导入的具体路径映射到包含声明文件的模块根目录:

{
  "compilerOptions": {
    // 其他已有的配置...
    "paths": {
      "puppeteer-heap-snapshot/dist/cjs/src/index": ["node_modules/puppeteer-heap-snapshot"]
    }
  }
}

配置后TypeScript会自动到指定路径读取原有的.d.ts文件,完美适配自动补全。

方案2:自定义声明转发文件

在项目里新建types目录(没有就直接建),创建puppeteer-heap-snapshot.d.ts文件,内容如下:

declare module 'puppeteer-heap-snapshot/dist/cjs/src/index' {
  export * from 'puppeteer-heap-snapshot';
}

这个文件相当于给你导入的特殊路径做了个“类型转发”,直接复用原模块的所有类型定义。

方案3:调整导入路径+配置pkg资源(推荐)

把导入路径改成puppeteer-heap-snapshot/dist/cjs/src/index(去掉.js后缀),然后在package.json的pkg字段里添加资源打包配置:

{
  "pkg": {
    "assets": ["node_modules/puppeteer-heap-snapshot/dist/cjs/**/*"]
  }
}

这样既符合TypeScript的模块解析规则,能自动识别原声明文件,又能解决pkg的编译打包问题,一举两得。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 18:30:01