TypeScript を使用している Web アプリケーションで、jQuery Tools ライブラリのScrollable UI ツールを使用したいと考えています。残念ながら、 DefiniteTyped GitHub リポジトリには対応する定義ファイルがないため、独自に作成しました。
/// <reference path="./jquery-1.8.d.ts"/>
declare module JQueryTools {
interface ScrollableOptions {
clonedClass?: string;
disabledClass?: string;
easing?: string;
items?: string;
keyboard?: any; // boolean or string
circular?: any // boolean
next?: string;
prev?: string;
speed?: number;
vertical?: any; // boolean
}
interface ScrollableUIParams {
}
interface ScrollableEvent {
(event: Event, ui: ScrollableUIParams): void;
}
interface ScrollableEvents {
onBeforeSeek?: ScrollableEvent;
onSeek?: ScrollableEvent;
onAddItem?: ScrollableEvent;
}
interface Scrollable extends ScrollableOptions, ScrollableEvents {
}
}
interface JQuery {
scrollable(): JQuery;
scrollable(methodName: string): JQuery;
scrollable(options: JQueryTools.ScrollableOptions): JQuery;
scrollable(optionLiteral: string, optionName: string): any;
scrollable(optionLiteral: string, options: JQueryTools.ScrollableOptions): any;
scrollable(optionLiteral: string, optionName: string, optionValue: any): JQuery;
}
私の .ts ファイルには、次の呼び出しがあります。
$(".scrollableWrapper").scrollable({vertical: true});
コンパイル時に、次のエラーが発生します。
error TS2094: The property 'scrollable' does not exist on value of type 'JQuery'.
定義ファイルからすべてのコードを切り取って jquery-1.8.d.ts ファイルに貼り付けると、コンパイル エラーが発生することなく、すべてが正常に動作するように見えます。私の質問は、私のカスタム d.ts ファイルが typescript コンパイラによって認識されないのはなぜですか?