14

是否可以在 TypeScript 中使用 JavaScript 库?

例如,我想在 TypeScript 中使用Raphael,并将 JS 文件添加到我的文件中/scripts folder并将它们添加到_references.js.

但是当我想在我的 TS 文件中声明时:

var r = Raphael(10,50,640,480);

Intellisense 总是说:

Raphael does not exist in the current scope.

并且 TS 文件无法编译。

4

3 回答 3

19

此行是环境声明:

declare var Raphael: any;

虽然它有效,但您没有真正的打字。

DefinitiveTyped项目已经有 Raphael 的定义。

下载raphael.d.ts文件。

并像这样使用它:

/// <reference path="../Definitions/raphael.d.ts" />
于 2012-10-22T00:29:37.463 回答
0

如前所述,您可以将 Raphael 声明为“任何”类型的 var,但如果您想要 IntelliSense 和编译时检查,则需要一个声明文件。我已经在这里进行了初步尝试:https ://bitbucket.org/keesey/raphaelts

于 2012-10-21T18:35:22.960 回答
0

我支持前面的答案,将 Raphael 声明为类型为 any 的 var,它会起作用。但是如果你真的想利用类型脚本,那么为 Raphael js 创建声明文件。因此,每当您使用 Raphael js 时,它都会提供智能感知。这是Jquery 声明文件的链接,该文件可在 typescript 站点提供的示例中找到。看看它会有所帮助。如果需要任何进一步的细节,请告诉我。

于 2012-10-08T03:51:58.717 回答