终端中 TSC 的静默输出

And*_*ill 1 typescript tsc typescript-compiler-api

我正在tsc终端运行。

每次我保存文件时,TypeScript 编译器都会发出:

[2:05:49 PM] 检测到文件更改。开始增量编译...
[2:05:49 PM] 发现 0 个错误。监视文件更改。

如何防止 TypeScript 编译器输出这些消息?我想要在保存时进行“静默”编译,但我似乎在文档中找不到任何适用的标志。

谢谢。

Dav*_*ret 5

根据对 TypeScript 源代码的简要查看,这似乎不可能用任何标志来抑制,因为它会在报告监视主机状态时记录(请参阅此处)。

您可以做的是按照以下链接中的步骤设置您自己的增量观察程序,并提供您自己的WatchStatusReporter不记录的观察程序:

https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher

但这是一项繁重的工作,并且维护您自己的自定义观察程序可能会引入其自身的设置问题和限制。也许只是抑制输出?

# powershell / windows command prompt
tsc --watch >null
# bash
tsc --watch >/dev/null
Run Code Online (Sandbox Code Playgroud)

但这也抑制了诊断,并且将其限制为仅标准输出并没有帮助(似乎诊断没有记录到标准错误)。也许最好在 TypeScript 存储库上提出一个问题来请求禁用输出手表状态。