TypeScript compila módulos AMD com definições necessárias
-
13-12-2019 - |
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?
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