Typescript distingue deux types de modules différents : Interne Les modules sont utilisés pour structurer votre code en interne. Au moment de la compilation, vous devez faire entrer les modules internes dans le champ d'application en utilisant des chemins de référence :
/// <reference path='moo.ts'/>
class bar extends moo.foo {
}
D'un autre côté, externe Les modules sont utilisés pour référencer les fichiers sources externes qui doivent être chargés. au moment de l'exécution en utilisant CommonJS o AMD . Dans votre cas, pour utiliser le chargement externe des modules, vous devez procéder comme suit :
moo.ts
export class foo {
test: number;
}
app.ts
import moo = module('moo');
class bar extends moo.foo {
test2: number;
}
Notez la manière différente d'introduire le code dans la portée. Avec les modules externes, vous devez utiliser module
avec le nom du fichier source qui contient la définition du module. Si vous voulez utiliser les modules AMD, vous devez appeler le compilateur comme suit :
tsc --module amd app.ts
Il est ensuite compilé en
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
}
define(["require", "exports", 'moo'], function(require, exports, __moo__) {
var moo = __moo__;
var bar = (function (_super) {
__extends(bar, _super);
function bar() {
_super.apply(this, arguments);
}
return bar;
})(moo.foo);
})