index.d.ts 与普通类型文件?

atk*_*yla 8 typescript

如果我想要一个地方来定义项目其余部分可以访问的类型,我应该使用index.d.ts还是像任何其他.ts文件一样定义?

目前,我有一个文件夹,<root>/src/types/index.ts这样的作品,它编译成<root>/dist,其中<root>包含了package.jsontsconfig.json等我想知道,这是正常的做法,或者我应该定义index.d.ts。我不确定index.d.ts它的用法,因为它似乎用于发布.jsnpm 模块,而我只有自己的小项目,所有.ts. 另外,如果我要使用index.d.ts,它应该在<root>或的级别上使用<root>/src吗?

Sør*_*æus 13

如果我想要一个地方来定义项目其余部分可以访问的类型,我应该使用index.d.ts还是像任何其他.ts文件一样定义?

TL;DR:如果你有一个现有的JavaScript 库,你可以使用一个 .d.ts文件来定义它的类型。如果您从头开始在项目中创建类型,则使用.ts文件。

.d.ts文件是类型定义文件。它们的目的是允许通过 TypeScript 以强类型方式与第三方 JavaScript API 交互。您可以在绝对类型上了解有关这些文件的更多信息,并使用Microsoft 的 TypeSearch搜索现有定义。如果您使用的 API 找不到类型定义,则可以考虑.d.ts按照Microsoft 的指南编写自己的文件。您还可以查看如何从现有 JavaScript 库生成 .d.ts “类型”定义文件

我想要一个地方来定义我的类型可供项目的其余部分访问

您可能想要结帐。桶是聚合多个模块的一种方式,因此您可以使用单个语句导入它们的内容。另请参阅:所有 index.ts 的用途是什么? 这使您在构建项目时具有更大的灵活性,因为您可以在多个文件夹中拥有多个文件并聚合它们以便于导入。请注意,您需要一个模块打包器,例如支持使用桶的 webpack。

另外,如果我要使用index.d.ts,它应该在<root>或的级别上使用<root>/src吗?

这不正是它成为的事index.d.ts还是index.ts而是模块分辨率