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

如何避免TypeScript为内部工具文件生成d.ts声明文件?

解决TypeScript编译仍生成空util.d.ts的问题

以下几种方案可以彻底避免生成该文件:

  • 确保exclude路径准确无误
    TypeScript的exclude路径是相对于tsconfig.json所在目录的。比如你的util.ts在src/utils/下,exclude应该配置为["src/utils/util.ts"],路径错误会直接导致排除规则不生效。

  • 用include明确指定编译范围(替代exclude)
    相比exclude,include的优先级更高且更可控。直接在include里列出需要编译的文件/目录,完全不包含util.ts:

    {
      "include": ["src/**/*", "!src/utils/util.ts"],
      "exclude": [],
      "compilerOptions": {
        "declaration": true,
        "stripInternal": true
      }
    }
    

    注意:部分旧版本TypeScript可能不支持include里的!排除语法,这种情况下直接列出所有需要编译的文件即可。

  • 使用files字段精准指定编译文件
    如果项目文件数量不多,直接在files数组里列出所有需要编译的文件,完全不包含util.ts。TypeScript只会处理这里列出的文件,不会扫描其他文件:

    {
      "files": ["src/index.ts", "src/components/*.ts"],
      "compilerOptions": {
        "declaration": true,
        "stripInternal": true
      }
    }
    
  • 检查是否有其他编译文件引用了util.ts
    如果其他被编译的文件import了util.ts,即使配置了exclude,TypeScript也会将其作为依赖处理并生成d.ts文件。这种情况下要确保:

    • 移除其他文件对util.ts的引用;
    • 或者将util.ts放在一个完全不被编译的目录下,同时确保内部引用仅在未被编译的代码中使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 08:45:39