javascript - TypeScript 和库,例如 jQuery(带有 .d.ts 文件)

标签 javascript jquery typescript

我浏览了整个互联网,但我还没有找到一个全面的指南来告诉我如何使用 jquery 等库并在 TypeScript 项目中使用它。如果有指南存在,我很想知道在哪里,否则这些是我真正需要知道的事情:

  1. 我知道 .d.ts 文件仅用于智能感知,所以我需要什么才能让 jquery 真正工作(编译为 ts?)
  2. 在使用 VS2013 时我是否需要 requires//reference?如果需要,那实际上是做什么的?
  3. 从这些 .d.ts 和 jquery js 文件到在我的 ts 项目中使用库(或任何库)的任何内容。

我已经能够解决几乎所有其他问题,但这个问题相当令人沮丧。

最佳答案

你不需要将 jquery 编译成 typescript,你只需要使用一个定义文件来告诉 Typescript JavaScript 库是如何工作的。

在这里获取定义: https://github.com/DefinitelyTyped/DefinitelyTyped

如果使用 Visual Studio,则来自 NuGet。

然后像往常一样编写你的 typescript ,并在需要时声明你的库:

declare var library : libraryTypedName

例如 jquery 的 d.ts 文件已经为你做了这个(检查底部):

declare module "jquery" {
    export = $;
}
declare var jQuery: JQueryStatic;
declare var $: JQueryStatic;

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jquery

现在在您的 .ts 中当您键入 $ 时的文件它应该给你 typescript intellisense。

现在你唯一想要包含在你的 bundleconfig/<script> 中的东西是 .js 文件,包括你的和 jquery/其他库。 typescript 只是编译时间!

关于javascript - TypeScript 和库,例如 jQuery(带有 .d.ts 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26540165/

相关文章:

angular - 尝试在页面上呈现 Google map 时出错

javascript - 在 Angular Controller 中使用下划线

javascript - 路径通配符不适用于 system.js

javascript - jstree 添加复选框插件导致 Uncaught TypeError : Cannot read property 'selected' of undefined

javascript - 在特定日期/时间仅在移动 View 中显示/隐藏元素

javascript - .then 的 Promise.all 结果永远不会执行

javascript - 如何在javascript中弹出数组中的元素?

javascript - 是否有一个工具提示库可以让我向 SVG 元素添加工具提示?

Jquery UI Datepicker 不包括周末 minDate

TypeScript - 仅提取接口(interface)成员 - 可能吗?