小编典典

如何将JQuery导入Typescript文件?

ajax

更新资料

无需导入。相反,我需要添加对文件顶部的引用。所以我的WebAPI.js的第一行应该/// <reference path ="../typings/jquery/jquery.d.ts"/>import { $ } from '../jquery-3.1.1';


我正在尝试导入jQuery以在Typescript文件中使用,但是我尝试的所有操作都收到各种错误。我在这里和这里都遵循了解决方案,但是没有任何运气。

tsconfig.json

{
    "compilerOptions": {
        "removeComments": true,
        "preserveConstEnums": true,
    "out": "Scripts/CCSEQ.Library.js",
    "module": "amd",
        "sourceMap": true,
    "target": "es5",
    "allowJs": true
}

WebAPI.js

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'

失误

  • Module jquery-3.1.1 has no exported member $
  • Property ajax does not exist on type (selector: any, context: any) => any

阅读 468

收藏
2020-07-26

共1个答案

小编典典

不需要导入。而是在文件顶部添加对Typescript定义文件的引用。因此,第一行WebAPI.js应该是

/// <reference path ="../typings/jquery/jquery.d.ts"/>

代替

import { $ } from '../jquery-3.1.1';

根据DefinitelyTyped
Wiki:

TypeScript声明文件是在外部第三方JavaScript库中定义类型,函数和参数的方式。通过在TypeScript代码中使用声明文件,将启用Intellisense并针对正在使用的外部库进行类型检查。

jquery.d.ts是GitHub上DefinitelyTyped库的一部分。绝对类型可以通过NuGet程序包管理器包含在Visual
Studio项目中。

2020-07-26