DefinitelyTyped d.ts-filer och AMD-moduler med TypeScript


Jag importerar de flesta av mina DefinitelyTyped-moduler från https://github.com/borisyankov/DefinitelyTyped med nuget.

Jag undrar om det är något jag har missat eftersom jag tycker att alla saknar stöd för AMD.

I de flesta moduler lägger jag till detta själv:

declare module "toastr" {
    export = Toastr;
}
declare module "knockout.validation" {
    export = KnockoutValidationStatic;
}
declare module "knockoutmapping" {
    export = KnockoutMapping;
}
declare module "jquery" {
    export = $;
}

När jag gör detta kan jag göra följande:

import $ = require('jquery');
import toastr = require('toastr');

och det genererar mina AMD-moduler korrekt.

define(["require", "exports", 'toastr'], function(require, exports, __toastr__) {

}

Jag undrar om det finns något annat sätt att göra detta eftersom jag tycker att AMD-exporten som är definierad i d.ts saknas för de flesta bibliotek.

Svar #1

Vissa av definitionerna har denna sektion, t.ex. Underscore. Anledningen till att många av dem inte har det är att namnet på importen beror på hur du konfigurerar requirejs och det korta sökvägsnamn du väljer i din konfiguration.

Relaterade artiklar