TypeScript compile AMD modules with required defines

廉价感情. 提交于 2019-12-21 01:57:37

问题


In AMD (as implemented in requirejs) one can defined modules to be included as dependencies, eg:

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

  // Use the module somewhere.
});

I have tried the --module amd and it outputs correctly an AMD module usable by requirejs.

Is it possible to define dependencies inside the source of TypeScript source file that translates to something like the example above?


回答1:


You need to "export" your modules;

export module depModule { 
    export class A { 
    }
}

that will transalate into JavaScript code that looks like:

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

and then you consume them by using "import":

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

you will need to specify the type of your module code generation to the compiler using --module AMD.



来源:https://stackoverflow.com/questions/12706167/typescript-compile-amd-modules-with-required-defines

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!