Ich glaube, ich habe eine Problemumgehung gefunden. Schließen Sie einfach das Schlüsselwort 'module' in Ihre .ts-Datei in Klammern ein:
declare var module: any;
(module).exports = MyClass;
Die generierte Javascript-Datei ist genau dieselbe:
(module).exports = MyClass;
Beachten Sie, dass Sie die Definitionsdatei node.d.ts besser herunterladen als das var-Modul selbst deklarieren und im selben Verzeichnis wie Ihre Typoskriptdatei ablegen müssen . Hier ist ein vollständiges Beispiel einer Express-Routingdatei von node.js, die davon ausgeht, dass sich node.d.ts im selben Verzeichnis befindet:
var SheetController = function () {
this.view = function (req, res) {
res.render('view-sheet');
};
};
(module).exports = SheetController;
Ich kann dann einen SheetController neu einrichten und (mit Express) die Ansichtsmethode zuweisen:
var sheetController = new SheetController();
app.get('/sheet/view', sheetController.view);
Ich nehme an, dass jedes Schlüsselwort mit diesem Muster maskiert werden kann:
declare var reservedkeyword: any;
(reservedkeyword).anything = something;