微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-如何在Nodejs REPL中使用Typescript类?

我这样创建了一个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没有像浏览器窗口对象那样的全局泄漏.

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐