TypeScript tsc > 消息重定向

Posted

技术标签:

【中文标题】TypeScript tsc > 消息重定向【英文标题】:TypeScript tsc > redirection of messages 【发布时间】:2012-10-05 13:10:52 【问题描述】:

我刚刚将 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);

从 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

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

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,它是空的。

【问题讨论】:

【参考方案1】:

> 运算符仅重定向标准输出。错误被写入标准错误。要同时重定向 stderr,请将 2>&1 附加到命令中。背景信息is here.

【讨论】:

完美运行。感谢 Diullei 和 Hans 提供的信息。基思【参考方案2】:

尝试使用:

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

这对我很有效。

【讨论】:

以上是关于TypeScript tsc > 消息重定向的主要内容,如果未能解决你的问题,请参考以下文章

找不到 Typescript 编译器:命令“tsc”无效

使用 Typescript 在 React 中重定向

如何从 getStaticProps 返回重定向而不从 TypeScript 出错?

typescript 角度重定向到组件

Laravel 5.2重定向成功消息

如果 $request->ajax() 在 Laravel 中捕获重定向并返回 json 消息