如何在Nodejs REPL中使用Typescript类?

我创build了这样的foo.ts

 class Foo{ public echo(){ console.log("foo"); } } 

它输出这样的JavaScript代码:

 var Foo = (function () { function Foo() { } Foo.prototype.echo = function () { console.log("foo"); }; return Foo; })(); 

我想在nodejs REPL中调用echo函数,但是最终会出现这样的错误:

 $ node > require('./foo.js'); {} > f = new Foo ReferenceError: Foo is not defined at repl:1:10 at REPLServer.self.eval (repl.js:110:21) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17) at Interface._onLine (readline.js:202:10) at Interface._line (readline.js:531:8) at Interface._ttyWrite (readline.js:760:14) at ReadStream.onkeypress (readline.js:99:10) at ReadStream.EventEmitter.emit (events.js:98:17) at emitKey (readline.js:1095:12) 

我如何实例化类并调用函数echo

Node.js没有像浏览器window对象那样的全局泄漏。

要在node.js中使用TypeScript代码,您需要使用commonjs并导出类即ie

 class Foo{ public echo(){ console.log("foo"); } } export = Foo; 

然后在REPL中:

 $ node > var Foo = require('./foo.js'); {} > f = new Foo(); 

要了解有关AMD / CommonJS的更多信息,请访问: https : //www.youtube.com/watch?v= KDrWLMUY0R0 & hd =1