나는 다음 foo.ts
과 같이 만들었습니다 .
class Foo{
public echo(){
console.log("foo");
}
}
그리고 다음과 같은 자바 스크립트 코드를 출력합니다.
var Foo = (function () {
function Foo() {
}
Foo.prototype.echo = function () {
console.log("foo");
};
return Foo;
})();
echo
nodejs REPL에서 함수 를 호출 하고 싶지만 다음과 같은 오류가 발생합니다.
$ 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를 사용 하고 클래스를 내 보내야 합니다.
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] 삭제
몇 마디 만하겠습니다