声明与TypeScript一起使用的JS库
Declaring a JS library for use with TypeScript
类似的问题有很多线程,但据我所知,这是唯一的。
我在我的应用程序中使用jQuery Address插件,并希望在TypeScript文件中使用它。遗憾的是,库中没有可用的"确定类型"脚本。当我尝试使用jQuery.address时,我得到:
The property 'address' does not exist on value of type 'jQueryStatic'
根据这个线程,我尝试在jquery.d.ts
:中定义address
interface JQueryStatic {
address(options): any;
...
}
我认为这似乎适用于$.address();但不适用于地址的任何方法。我也尝试过为这个线程创建自己的.d.ts文件,但仍然没有成功。我尝试在.d.ts文件中使用declare
。运气不好。
我唯一需要使用的方法是parameter
方法。。。
$.address.parameter('param', 1);
在这种情况下,我得到:
The property 'parameter' does not exist on value of type 'address'
关于如何解决这个问题,有什么想法吗?
edit:如果有帮助的话,我在Visual Studio C#.net环境中工作。
您不需要编辑jquery.d.ts
本身;将这些定义放在它们自己的文件中,以便能够正确地维护它们。一些最小的东西是这样的:
// For methods on e.g. $('a')
interface JQuery {
address(callback?: () => void): JQuery;
}
// For methods on $
interface JQueryStatic {
address: JQueryAddressStatic;
}
interface JQueryAddressStatic {
(): JQuery;
parameter(name: string): string;
parameter(name: string, value: string, append?: boolean): JQuery;
}
以下内容进入jquery.d.ts
:
interface JQueryStatic {
address(options): JQueryAddress;
}
interface JQueryAddress {
parameter(name, value): any;
}
希望能有所帮助!
相关文章:
- 如何将js库与typescript一起使用
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- 在IntelliJ IDEA中,如何将JS文件从“;查找用法“;使用TypeScript时的结果
- TypeScript 或 JS- 如何在 HTML 中选择一个元素及其所有子元素
- 将ng2图表添加到Typescript/ Angular 2项目引用路径和.js文件的路径不正确
- TypeScript d.ts 和 .js 一致性
- Typescript中的Javascript错误在IE11中生成JS
- 如何使用Node.js、Express和MongoDB启动typescript
- 如何从TypeScript编译中现有的AMD js类继承到AMD模块
- 为什么我不能在 TypeScript 中导入 sprintf-js
- 如何在 Node JS FS 模块中使用 Typescript Async/ await with promise
- 当 js 用 Typescript 调用 scrollMaxY 参数时,我如何处理
- 在 TypeScript 中的 Sammy Js 中声明路由
- grunt-typescript 不会在指定的“dest”中生成 js 文件
- 如何在 TypeScript / JavaScript 中调用节点.js脚本
- Typescript 1.8 - ES2015 导入 js 文件
- 如何在 Angular 2 / Typescript 应用程序中使用第三方 js 库
- Angular JS TypeScript的IHttpService注入自定义头值
- Angular JS, Typescript -当使用$watch时,UI不会显示模型的变化
- 失踪的动能.js Typescript文件中的渐变方法