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

如何在运行npx tsc时自动为TypeScript库导出index.d.ts类型声明文件

实现TS库自动生成类型声明文件的方案

第一步:调整tsconfig.json配置

你只需要在compilerOptions中新增3个配置项即可开启tsc自动生成.d.ts声明文件的能力:

  • declaration: true:核心开关,开启后编译时会自动为每个TS文件生成对应的.d.ts类型声明
  • declarationMap?: true:可选配置,开启后会生成类型声明的sourcemap,方便库使用者跳转到你的源码查看类型定义
  • declarationDir?: "build":可选配置,指定类型声明的输出目录,不填的话默认和outDir配置的输出路径一致,和编译后的JS文件放在一起

修改后的完整tsconfig.json如下:

{
  "compilerOptions": {
    "lib": ["ES2019"],
    "module": "es6",
    "target": "es5",
    "moduleResolution": "node",
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "sourceMap": true,
    "outDir": "build",
    "strict": true,
    "noImplicitAny": true,
    // 新增以下配置
    "declaration": true,
    "declarationMap": true
  },
  "include": ["./**/*.ts"],
  "exclude": ["node_modules", ".vscode", "test"]
}

第二步:配置package.json让使用者能识别类型

为了让其他开发者安装你的库后能自动读取到类型声明,需要在package.json中新增types字段,指向你生成的入口声明文件路径:

{
  "name": "你的库名",
  "version": "1.0.0",
  "main": "./build/index.js",
  // 新增类型指向配置
  "types": "./build/index.d.ts"
}

验证效果

直接运行npx tsc,编译完成后就能在build目录下看到和你的TS源文件一一对应的.d.ts文件,入口文件index.ts对应的index.d.ts会自动包含所有你对外export的类型、方法、变量的声明。

注意事项

你需要确保项目有统一的入口文件(通常是根目录的index.ts),所有要对外暴露的能力、类型都要从这个入口文件export,这样生成的index.d.ts才会包含完整的对外类型。如果你需要把所有类型打包成单独的一个d.ts文件,还可以配合rollup+rollup-plugin-dts工具实现,属于进阶可选操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:48:01