为什么要为Knockout / jQuery使用Definitely Typed打字稿文件

时间:2016-05-04 21:43:24

标签: jquery knockout.js typescript definitelytyped

这可能是一个愚蠢的问题,但有人可以告诉我是否“需要”使用带有Typescript的外部库的绝对类型(.d.ts)版本? 我有一个代码库,以传统方式使用jQuery和Knockout(包括html文件中的脚本/ cdns)。另外,我需要更新代码库以使用Typescript。我想知道这些是否是保持jQuery和knockout引用完整并且仍然使用Typescript的问题。

1 个答案:

答案 0 :(得分:4)

不,它不是必需

它们主要用于工具支持(例如智能感知)和编译时间检查,因为它们描述了外部库的API。如果你不关心它,你可以放弃包括它们,但你可能需要告诉Typescript关于这些库暴露的全局变量。

例如:

declare var ko, $, jQuery;
ko.applyBindings({}, $(".root-container"))[0];

除了这些declare之外还有更聪明的方法,事实上完全 .d.ts个文件包含的内容:聪明的图书馆声明#39;重新使用。看看e.g. at the Knockout .d.ts file(从底部开始我就说),它们并不是太复杂。