无需导入。相反,我需要添加对文件顶部的引用。所以我的WebAPI.js的第一行应该/// <reference path ="../typings/jquery/jquery.d.ts"/>是import { $ } from '../jquery-3.1.1';
/// <reference path ="../typings/jquery/jquery.d.ts"/>
import { $ } from '../jquery-3.1.1';
我正在尝试导入jQuery以在Typescript文件中使用,但是我尝试的所有操作都收到各种错误。我在这里和这里都遵循了解决方案,但是没有任何运气。
{ "compilerOptions": { "removeComments": true, "preserveConstEnums": true, "out": "Scripts/CCSEQ.Library.js", "module": "amd", "sourceMap": true, "target": "es5", "allowJs": true }
import { $ } from '../jquery-3.1.1'; export class ExpenseTransaction extends APIBase { constructor() { super(); } Get(): void { let expenses: Array<Model.ExpenseTransaction>; let self = this; $.ajax({ url: this.Connection, type: "GET", contentType: "application/json", dataType: "json", success: function (data: any): void { expenses = self.ConvertToEntity(data.value); }, error: function (data: any): void { console.log(data.status); } }); }; }
我也尝试过 import * as $ from '../jquery.3.1.1'
import * as $ from '../jquery.3.1.1'
Module jquery-3.1.1 has no exported member $
Property ajax does not exist on type (selector: any, context: any) => any
不需要导入。而是在文件顶部添加对Typescript定义文件的引用。因此,第一行WebAPI.js应该是
WebAPI.js
代替
根据DefinitelyTyped Wiki:
TypeScript声明文件是在外部第三方JavaScript库中定义类型,函数和参数的方式。通过在TypeScript代码中使用声明文件,将启用Intellisense并针对正在使用的外部库进行类型检查。
jquery.d.ts是GitHub上DefinitelyTyped库的一部分。绝对类型可以通过NuGet程序包管理器包含在Visual Studio项目中。
jquery.d.ts