【问题标题】:Why use Definitely Typed typescript files for Knockout/jQuery为什么要为 Knockout/jQuery 使用绝对类型的打字稿文件
【发布时间】:2016-08-30 12:46:06
【问题描述】:
这可能是一个愚蠢的问题,但有人可以告诉我是否“必须”使用带有 Typescript 的外部库的明确类型 (.d.ts) 版本?
我有一个以传统方式使用 jQuery 和 Knockout 的代码库(包括 html 文件中的脚本/cdns)。另外,我需要更新代码库以使用 Typescript。我想知道这些是否是保持 jQuery 和淘汰赛引用完整并仍然使用 Typescript 的问题。
【问题讨论】:
标签:
jquery
knockout.js
typescript
definitelytyped
【解决方案1】:
不,它不是必需的。
它们主要用于工具支持(例如智能感知)和编译时检查,因为它们描述了外部库的 API。如果您不关心这些,您可以放弃包含它们,但您可能需要告诉 Typescript 这些库公开的全局变量。
例如:
declare var ko, $, jQuery;
ko.applyBindings({}, $(".root-container"))[0];
有比这些declares 更聪明的方法,事实上,正是.d.ts 文件包含的内容:您正在使用的库的巧妙声明。看看e.g. at the Knockout .d.ts file(我想说从底部开始),它们并不太复杂。