使用 rollup-plugin-dts 插件的好处

不使用 typescript 生成 d.ts 而使用 dts() 插件,原因是什么?

使用 rollup-plugin-dts 而不是 TypeScript 的 declaration: true 来生成类型声明文件有以下几个主要优势:

  1. 更好的类型声明文件整合

    • rollup-plugin-dts 会将所有的类型声明合并到一个文件中
    • 而 TypeScript 会为每个源文件生成对应的 .d.ts 文件,这可能导致项目结构混乱
  2. 更小的类型声明文件

    • rollup-plugin-dts 会移除未使用的类型
    • 可以通过 rollup 的 tree-shaking 功能优化类型声明
  3. 更好的控制

    • 可以利用 rollup 的其他插件和配置来处理类型声明文件
    • 可以自定义类型声明文件的输出路径和格式
  4. 避免重复声明

    • TypeScript 的 declaration: true 可能会生成重复的类型声明
    • rollup-plugin-dts 会自动处理这些重复声明
  5. 更快的构建速度

    • 分离类型声明的生成过程
    • TypeScript 编译和类型声明生成可以并行进行

因此,建议在 tsconfig.json 中设置 "declaration": false,然后使用 rollup-plugin-dts 来生成类型声明文件。这样可以获得更好的类型声明文件管理和更高的构建效率。