TypeScript:跨文件合并接口

时间:2014-06-11 15:03:07

标签: interface merge typescript

我正在使用TypeScript构建一个站点,并且已经获得了一个JS类来将该钩子用于JQuery(即通过

访问它)
$.scPlayer.functionName()

jquery.d.ts中的核心JQuery定义当然不知道这一点,因此编译器会抛出错误(即使实际代码在浏览器中有效)。所以我试图将JQueryStatic接口与我创建的接口合并,即

interface JQueryStatic
{
    scPlayer:any;
}

据我所知,TS编译器应该认识到这两个接口是相同的并合并它们,将我的属性添加到另一个接口。

现在,如果我将它包含在JQuery定义文件中,无论是在现有定义中(显然)还是作为一个新的,单独的JQueryStatic接口,这都可以正常工作......但理想情况下我想避免为了这个而改变它我遗忘的未来自我,所以我试图在一个单独的定义文件中创建新的接口。但这不起作用 - 似乎我的新界面只是覆盖了JQuery。

这可能吗?我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的界面运行正常。我已将它添加到jquery.d.ts旁边的Visual Studio中名为scplayer.d.ts的文件中。

我从nuget中获取了jQuery类型定义。

interface JQueryStatic {
    scPlayer: any;
}

这使接口与jQuery定义分开。

Solution Explorer