Donc, je pense que je l'ai trouvé une solution de contournement. Il suffit de terminer le mot-clé « module » entre parenthèses dans votre fichier .ts:
declare var module: any;
(module).exports = MyClass;
Le fichier javascript généré sera exactement la même chose:
(module).exports = MyClass;
Remarque, mieux que déclarer module var vous, téléchargez le fichier de définition de node.d.ts et le coller dans le même répertoire que votre fichier dactylographiée. Voici un échantillon complet d'un express Node.js fichier de routage qui suppose node.d.ts est dans le même répertoire:
/// <reference path="node.d.ts" />
var SheetController = function () {
this.view = function (req, res) {
res.render('view-sheet');
};
};
(module).exports = SheetController;
Je peux alors de nouvelles un SheetController et (en utilisant express) affecter la méthode d'affichage:
var sheetController = new SheetController();
app.get('/sheet/view', sheetController.view);
Je suppose un mot clé peut être échappé avec ce modèle:
declare var reservedkeyword: any;
(reservedkeyword).anything = something;