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

最近因为学 Angular 5才接触的Typescript。
有些不懂的想请问一下各位。
就是我看到别人的库 有些是 js 和 d.ts 后缀文件混合在一起的。
例如:

图片描述

但是呢,自己写的那些就都是 Ts 后缀结尾的文件。

就想问问, .ts 和 d.ts 这两个有什么不一样

在网上查过, d.ts 是对 自己写的 Js 文件进行类型定义的。

那我是不是可以认为 想要在 Ts 中使用 Js 文件里面的方法,就一定要写 d.ts 的这个定义呢?

如果你是直接写 .ts 的, 就不用写 d.ts 这个文件呢?

谢谢大佬的解惑。

阅读 23.7k
3 个回答

d.ts就是TypedDefinition 类型定义文件,用来定义类型信息以及接口规范。
想要在ts使用js里面的方法,不一定要有类型定义。
但如果没有类型定义文件, 你在编码的过程中,编辑器不会给你方法的提示,你想找API的时候也没有对应的文档。

如果想用早期的JS library,是没有类型定义信息的,这个时候为了使用方便我们就需要创建一个对应的d.ts文件。

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

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

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

你需要了解 typescript
d.ts 是从你写的TS、代码中分离出来的非javascript的东西,类似于定义接口规范, 由编译器生成。

http://www.tslang.cn/docs/han...

logo
Microsoft
子站问答
访问
宣传栏