【问题标题】:Use Raphael JavaScript library in TypeScript在 TypeScript 中使用 Raphael JavaScript 库
【发布时间】:2012-10-07 14:15:39
【问题描述】:

是否可以在 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 文件无法编译。

【问题讨论】:

    标签: javascript visual-studio-2012 intellisense typescript


    【解决方案1】:

    这一行是环境声明:

    declare var Raphael: any;
    

    虽然它有效,但您不会真正打字。

    DefinitelyTyped 项目已经有 Raphael 的定义。

    下载raphael.d.ts文件。

    并像这样使用它:

    /// <reference path="../Definitions/raphael.d.ts" />
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 有自动生成声明文件的工具吗?
      • 命令行编译器正在这样做,但我想它是用于 typescript 到 typescript 声明文件,而不是从 javascript 到声明文件。您仍然可以尝试从 js 复制粘贴到 ts 并尝试生成声明,但我不确定。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-06-14
        • 1970-01-01
        • 2012-03-30
        • 1970-01-01
        • 2013-01-28
        • 2018-10-09
        • 2015-03-11
        • 1970-01-01
        • 2021-11-01
        相关资源
        最近更新 更多