6

TypeScript を Node.js パッケージとしてインストールしたところですが、驚いたことに、すぐに機能するようです。しかし、それが生成する可能性のあるメッセージを傍受する方法が見つかりません。意図的なエラーを含むgreeter.tsファイルで次のことを行う

tsc greeter.ts > err.log

リダイレクトが発生していないことを確認します。誰でもこれを回避する方法を知っていますか? エディターでエラーを検出できるように、これを実行したいと考えています。

ところで、tsc は小文字のファイル名しか受け付けないことに気付きました。tsc GREETER.TS を実行すると、Error reading file "GREETER.TS": File not found が発生します。

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

2 に答える 2

6

オペレーターは>stdout のみをリダイレクトします。エラーは stderr に書き込まれます。stderr もリダイレクト2>&1するには、コマンドに追加します。バックグラウンダー情報はこちら.

于 2012-10-15T15:53:16.727 に答える
2

使用してみてください:

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

これは私にはうまくいきました。

于 2012-10-15T16:20:11.683 に答える