Pergunta

Na AMD (conforme implementado em requirejs) podem-se definir módulos a serem incluídos como dependências, por exemplo:

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

  // Use the module somewhere.
});

Eu tentei o --module amd e ele gera corretamente um módulo AMD utilizável por requirejs.

É possível definir dependências dentro da fonte do arquivo fonte TypeScript que se traduz em algo como o exemplo acima?

Foi útil?

Solução

Você precisa “exportar” seus módulos;

export module depModule { 
    export class A { 
    }
}

que será traduzido em código JavaScript semelhante a:

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

e então você os consome usando "import":

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

você precisará especificar o tipo de geração de código do seu módulo para o compilador usando --module AMD.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top