我正在使用 nuget 从 https://github.com/borisyankov/DefinitelyTyped 导入我的大部分绝对类型模块。

我想知道是否有什么我错过了,因为我发现他们都缺少 AMD 支持。

在大多数模块中,我自己添加了这个:

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

这样做时,我可以执行以下操作:
import $ = require('jquery');
import toastr = require('toastr');

它正确生成了我的 AMD 模块。
define(["require", "exports", 'toastr'], function(require, exports, __toastr__) {

}

我想知道是否还有其他方法可以做到这一点,因为我发现大多数库都缺少 d.ts 中定义的 amd 导出。

最佳答案

一些定义确实有这个部分,例如下划线。他们中的许多人之所以没有,是因为导入的名称取决于您配置 requirejs 的方式以及您在配置中选择的短路径名。

关于typescript - 使用 TypeScript 确定类型的 d.ts 文件和 Amd 模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18561579/

10-16 15:56