为什么纯的Typescript项目包含.d.ts定义?

时间:2016-03-23 23:19:43

标签: typescript

为什么Typescript项目包含.d.ts定义......似乎适得其反?

如果已经在TypeScript中开发了一个库(比如Angular2,那么说),并且TS转换器可以使用源.ts文件进行智能化,为什么我一直在TS项目中看到.d.ts文件正在包括?

现在确定你可以通过tsd可执行文件轻松生成.d.ts定义,但我无法看到逻辑。

的问候,

肖恩

1 个答案:

答案 0 :(得分:4)

归结为分销。通过npm / bower引用项目提供了一个“主”文件,它是javascript,而不是typescript。因此,对Typescript项目的编译输出最有意义的是:

a)已编译的javascript文件,可能已缩小

b)描述类型注释的.d.ts文件(类似于C中的头文件)

在typescript中分发是没有多大意义的,因为它会阻止javascript项目使用它,或者需要单独的npm包的打字稿版本。