我刚刚将 TypeScript 作为 Node.js 包安装,令我惊讶的是它似乎可以立即运行。但我找不到拦截它可能生成的任何消息的方法。使用有故意错误的 greeter.ts 文件执行以下操作
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);
从操作系统外壳我得到以下信息。
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,它是空的。