.d.ts 和 源文件 .ts 有什么区别?

我看到第三方包中的文件,如rxjs里,Rx.ts和Rx.d.ts,这两个文件里代码没什么区别。那为什么要多这个Rx.d.ts文件,这个文件有什么用?

阅读 11.9k
3 个回答

d.ts类型定义文件,我感觉现在对我的用处就是编辑器的智能提示

.ts 表示你的代码就是用 ts 写的。

但这种代码最后会编译成 .js 的 js 代码,供他人使用。这个时候,类型信息就丢失了。所以 ts 编译器会自动根据 .ts 中的信息,生成对外的 .d.ts 文件,和生成的 js 文件搭配使用。其中,js 文件是给运行引擎用的,而 .d.ts 文件是给 IDE(智能编辑器)写代码时参考用的。

另一种情况是,你的代码不是用 ts 写的,只是希望最后给别人用时能有类型信息作为辅助,那么这种情况下的 .d.ts 文件就需要你手写了。

.d.ts 是对现有的. js的定义,例如什么函数传入什么类型的参数,返回什么类型的值,比如jquery.d.ts

logo
Microsoft
子站问答
访问
宣传栏