TypeScript tsc>消息的重定向

use*_*344 6 typescript tsc

我刚刚将TypeScript安装为Node.js软件包,令我惊讶的是它似乎正在直接运行.但我无法找到拦截它可能产生的任何消息的方法.使用具有故意错误的greeter.ts文件执行以下操作

tsc greeter.ts > err.log
Run Code Online (Sandbox Code Playgroud)

确认没有重定向.有人知道这方面的方法吗?我想这样做,所以我可以在编辑器中找到错误.

顺便说一句,我注意到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);
Run Code Online (Sandbox Code Playgroud)

从OS shell我得到以下内容.

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
Run Code Online (Sandbox Code Playgroud)

但是当我尝试重定向时,我得到:

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>
Run Code Online (Sandbox Code Playgroud)

我觉得很确定; 正在发出错误消息但未被重定向到err.log,该文件为空.

Han*_*ant 6

>运营商仅将stdout重定向。错误被写入标准错误。要也重定向 stderr,请附加2>&1到命令。背景信息在这里