何时使用类型.Ts vs types.d.ts



有很多资源说明声明文件(d.s ts)对以下两种情况都是有用的:

  • 声明TS项目中使用的JS库的类型,或者
  • 允许你的JS库被其他TS项目使用

让我困惑的是,像material-ui这样的许多项目都使用d.ts文件来简单地存储类型,并让它们在自己的代码中使用。

在这一点上,我开始质疑,当我们拥有types.d.ts文件并简单地使用其接口/类型而不需要导出/导入时,我们必须导出/导入types.ts文件和接口来消费它们的意义是什么?使用其中一个的优缺点是什么?

在大多数情况下你应该只写typescript文件,让编译器为你生成你的.d.ts文件。这几乎总是正确的选择,除了:

  1. 由于某些原因,你不允许写typescript,你必须写纯javascript。
  2. 您正在从另一个包创建或修改类型。.d.ts文件可以帮助您覆盖这些类型。
  3. 你有一个非常大的代码库。

我想象材质UI在组1中。Deno在第3组

tl;dr:坚持写打字稿。编写javascript和单独的类型文件是非常不符合人体工程学的,你失去了typescript的很多好处。

.d.ts

  • 指示这个文件不应该被编译
  • 放置声明类型并将在js中某处实现
  • 只能输入文件

.ts

  • 普通typescript源代码
  • 必须编译的可执行代码

相关内容

最新更新