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

TypeScript编译后dist根目录未生成index.d.ts问题排查

问题排查与解决方案

核心问题

升级package.json后,TypeScript编译不再在dist根目录生成包含shared导出的index.d.ts,仅dist/shared目录存在该文件,导致依赖项目安装时出现类型查找错误。

排查步骤与修复方案

1. 检查package.json的types字段

确认package.json中是否正确配置了类型入口:

{
  "types": "dist/index.d.ts"
}

如果之前配置的是根目录的index.d.ts,升级后被误改为dist/shared/index.d.ts,会导致依赖项目无法找到顶层类型入口,改回即可。

2. 验证根目录是否存在类型导出入口

检查项目根目录的src下是否有index.ts文件,内容需重新导出shared模块的所有内容:

// src/index.ts
export * from './shared';

如果该文件丢失或被排除在编译范围外,tsc不会生成根目录的index.d.ts。同时确认主tsconfig.json的include字段包含该文件:

{
  "include": ["src/**/*"]
}

3. 检查build脚本的完整性

查看package.json中的build脚本,确认是否丢失了生成/拷贝根目录index.d.ts的步骤。比如之前可能有手动拷贝的命令:

{
  "scripts": {
    "build": "rimraf dist && tsc && cp dist/shared/index.d.ts dist/index.d.ts"
  }
}

如果升级package.json时不小心删除了cp(Windows环境用copy)步骤,补回即可。

4. 排查tsconfig的declarationDir配置

确认主tsconfig.json的declarationDir是否指向dist根目录:

{
  "compilerOptions": {
    "declarationDir": "./dist"
  }
}

如果该配置被改为./dist/shared,会导致所有类型文件生成在子目录,调整回根目录即可。

5. 手动测试tsc编译行为

直接在终端执行tsc命令,查看dist目录是否生成根目录的index.d.ts:

  • 如果生成,说明是build脚本中的清理或后续步骤删除了该文件,检查rimraf或其他清理命令是否误删;
  • 如果不生成,说明是tsconfig的include/exclude或导出逻辑问题,回到步骤2、4排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:29:57