TypeScript使用必需的定义编译AMD模块

时间:2012-10-03 10:01:57

标签: requirejs typescript

在AMD中(在requirejs中实现)可以定义要包含在依赖项中的模块,例如:

define(['require','exports'], function(require, exports) {
  var externalDep = require('path/to/depModule');

  // Use the module somewhere.
});

我已经尝试过--module amd,它正确输出了requirejs可用的AMD模块。

是否可以在TypeScript源文件的源代码中定义依赖关系,转换为类似上面的示例?

1 个答案:

答案 0 :(得分:13)

您需要“导出”您的模块;

export module depModule { 
    export class A { 
    }
}

将转换为如下所示的JavaScript代码:

define(["require", "exports"], function(require, exports) {
    (function (depModule) {
        var A = (function () {
            function A() { }
            return A;
        })();
        depModule.A = A;
    })(exports.depModule || (exports.depModule = {}));
})

然后使用“import”消耗它们:

module otherModule { 
    import  depModule = module('depModule');
    var a = new depModule.depModule.A();
}

您需要使用--module AMD。

为编译器指定模块代码生成的类型