2012-10-15 4 views
6

방금 ​​TypeScript를 Node.js 패키지로 설치했습니다. 놀랍게도 곧바로 작동하는 것 같습니다. 그러나 생성 할 수있는 메시지를 가로채는 방법을 찾을 수는 없습니다. 의도적 인 오류가있는 greeter.ts 파일을 사용하여 다음을 수행합니다.TypeScript tsc> 메시지 리디렉션

tsc greeter.ts > err.log 

리디렉션이 발생하지 않음을 확인합니다. 누구든지 이걸 어떻게 끝내는 지 알아? 나는 편집자에게서 오류를 선택할 수 있도록 이것을하고 싶다.

그런데 tsc는 소문자 파일 이름 만 허용합니다. tsc GREETER.TS를 실행하면 "GREETER.TS"파일을 읽는 중 오류가 발생합니다. 파일을 찾을 수 없습니다.

Sohnee 님의 댓글에 대한 응답으로 : 아니요, tsc는 오류 메시지를 확실히 내 보냅니다. 단지 내가 재전송 할 수 없다는 것입니다. 의도적 인 오류가있는 greeter.ts 파일은 다음과 같습니다.

function greeter(person) { 
    return "Hello, " + person; 
} 
var user = "Jane User"; 
undeclared 
document.body.innerHTML = greeter(user); 

OS 쉘에서 나는 다음을 얻습니다. 내가 리디렉션 할 때

C:\K_F90\F90WX\BOOKS\THENOD~1>tsc greeter.ts 
C:/K_F90/F90WX/BOOKS/THENOD~1/greeter.ts(7,0): The name 'undeclared' does not exist in the current scope 

는하지만 얻을 :

C:\K_F90\F90WX\BOOKS\THENOD~1>tsc greeter.ts > err.log 
C:/K_F90/F90WX/BOOKS/THENOD~1/greeter.ts(7,0): The name 'undeclared' does not exist in the current scope 
C:\K_F90\F90WX\BOOKS\THENOD~1>type err.log 
C:\K_F90\F90WX\BOOKS\THENOD~1> 

예쁜 결정적인 나는 생각한다; 오류 메시지가 _ 행되었지만 비어있는 err.log로 재 지정되지 않습니다.

답변

4

> 연산자는 stdout 만 리디렉션합니다. 오류는 stderr에 기록됩니다. stderr도 리디렉션하려면 2>&1을 명령에 추가하십시오. 배경 정보 is here.

+0

완벽하게 작동합니다. Diullei와 Hans에게 감사드립니다. 키이스 – user1747344

1

시도의 사용 :

tsc greeter.ts > err.log 2>&1

는 나에게 좋은 일했다.