8

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

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

  // Use the module somewhere.
});

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

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

4

1 回答 1

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 向编译器指定模块代码生成的类型。

于 2012-10-03T16:37:41.443 回答