Así que creo que he encontrado una solución. Simplemente envuelva la palabra clave 'módulo' entre paréntesis en su archivo Ts:
declare var module: any;
(module).exports = MyClass;
El archivo JavaScript generado será exactamente el mismo:
(module).exports = MyClass;
Tenga en cuenta, mejor que la que se declara a sí mismo módulo var, descargue el archivo de definición node.d.ts y pegarlo en el mismo directorio que el archivo de transcripción. Este es un ejemplo completo de un expreso Node.JS archivo de enrutamiento que asume node.d.ts está en mismo directorio:
/// <reference path="node.d.ts" />
var SheetController = function () {
this.view = function (req, res) {
res.render('view-sheet');
};
};
(module).exports = SheetController;
Puedo entonces una nueva y SheetController (usando expreso) asignar el método de vista:
var sheetController = new SheetController();
app.get('/sheet/view', sheetController.view);
Supongo que cualquier palabra clave se puede escapar usando este patrón:
declare var reservedkeyword: any;
(reservedkeyword).anything = something;