我已经看过其他SO问题。但仍然与我的问题相混淆。
我见过很多在Jquery(js)
中直接使用Toastr(js)
,JS
toastr without typings和其他angular2 app
库而不使用其类型定义的示例
(.d.ts)
个文件,它们工作得很好。
所以,
1) 基本上是什么是获利或失败,是否继续使用类型定义文件?
2) Angular2文件也是javascript文件。那么他们的类型定义文件怎么样呢 ?
注意:我没有尝试使用NPM
因此我不知道您何时实际安装Angualr2 package
,它会在{{1}中添加所有相关的t.ds
文件文件夹。
答案 0 :(得分:12)
Typescript定义文件包含用Javascript编写的代码的类型信息。
Javascript本身并不包含类型信息,因此Typescript无法神奇地检索该信息。要解决这个问题,需要创建定义文件,告诉Typescript在哪里使用哪些类型。
因此,您可以使用没有定义文件的第三方库,但是您将失去Typescript提供的类型安全性。
例如,如果您包含jQuery定义文件,那么您的IDE现在可以为jQuery API提供智能感知/自动建议。当您尝试将布尔值传递给需要字符串的函数时,Typescript编译器也会发出警告。
因此,Typescript不需要定义文件,但没有它们会失去Typescript提供的许多好处。