Typescript 如何从现有的.js文件中写入d.ts文件?

Typescript 如何从现有的.js文件中写入d.ts文件?,typescript,Typescript,我正在使用typescript,我想使用jquery.steps库从typescript创建向导。 目前没有可用于jquery.steps的类型化定义文件。 尝试了解如何编写键入文件。您始终可以将任何对象定义为typeany,然后调用任何方法。当然,您会丢失类型检查,因此创建d.ts可能会更好,但会很耗时 无论如何,您应该做的是在与jquery.steps.js相同的文件夹中创建文件jquery.steps.d.ts。然后必须引用jquery.d.ts ///<reference path

我正在使用typescript,我想使用jquery.steps库从typescript创建向导。 目前没有可用于jquery.steps的类型化定义文件。
尝试了解如何编写键入文件。

您始终可以将任何对象定义为type
any
,然后调用任何方法。当然,您会丢失类型检查,因此创建
d.ts
可能会更好,但会很耗时

无论如何,您应该做的是在与
jquery.steps.js
相同的文件夹中创建文件
jquery.steps.d.ts
。然后必须引用
jquery.d.ts

///<reference path="../jquery/jquery.d.ts" />
2) 用法

如果使用任何特殊对象,通常是插件和类似对象的设置,则必须将其定义为单独的接口。interace的名称并不重要,但属性名称必须和JavaScript中的名称匹配

1) 定义

interface JQuery {
    testMethod(parameter: string): JQuery;
}
interface IJQueryPluginSettings {
    test: string;
}

interface JQuery {
    initPlugin(settings: IJQueryPluginSettings): JQuery;
}
2) 用法

var$:JQuery;
变量设置:ijQueryPlugins设置={
测试:“测试”
};
$.initPlugin(设置);
使用这种方法,您可以覆盖大部分代码。关键是必须匹配的方法/属性的命名。 另外,查看已经创建的
d.ts
也会对您有所帮助。看看类似或更复杂的插件

使用它不必涵盖所有的方法/属性。您只能覆盖您希望从TypeScript调用的代码的PAR。如果您涵盖了所有或大部分jQuery插件,请将其上载到

interface IJQueryPluginSettings {
    test: string;
}

interface JQuery {
    initPlugin(settings: IJQueryPluginSettings): JQuery;
}
var $: JQuery;
var settings: IJQueryPluginSettings = <IJQueryPluginSettings> {
    test: "test"
};

$.initPlugin(settings);