为什么Typescript项目包含.d.ts定义......似乎适得其反?
如果已经在TypeScript中开发了一个库(比如Angular2,那么说),并且TS转换器可以使用源.ts文件进行智能化,为什么我一直在TS项目中看到.d.ts文件正在包括?
现在确定你可以通过tsd可执行文件轻松生成.d.ts定义,但我无法看到逻辑。
的问候,
肖恩
答案 0 :(得分:4)
归结为分销。通过npm / bower引用项目提供了一个“主”文件,它是javascript,而不是typescript。因此,对Typescript项目的编译输出最有意义的是:
a)已编译的javascript文件,可能已缩小
b)描述类型注释的.d.ts文件(类似于C中的头文件)
在typescript中分发是没有多大意义的,因为它会阻止javascript项目使用它,或者需要单独的npm包的打字稿版本。