VSCode を使用して ts-node TypeScript コードをデバッグします。これは、実行されるコードが JavaScript であるという事実に起因する (私が推測する) 問題につながることがありますが、表示されるコードは TypeScript です。
たとえば、トランスパイラーによって変数のfoo
名前が変更されることがあります。_foo
次に、変数foo
の上にカーソルを置いてもその内容を調べることができません。foo
デバッグ ウィンドウでのみ、名前が に変更されたことがわかります_foo
。私はそれと一緒に生きなければならないと思います。
はるかに深刻なのは、私がオンザフライで式を評価するためによく使用するデバッグ コンソールの問題です。MyClass
現在デバッグ中のコードで使用されているクラスがあります。クラスは
import MyClass from './MyClass'
または類似。ここで、デバッガーが (たとえばブレークポイントによって) 一時停止されている間、デバッグ コンソール ウィンドウでそのクラスを使用したいと考えています。クラスは現在デバッグ中のコードに既にインポートされているため、現在のコードで使用されているように、それを使用して試してみます。
MyClass
Uncaught ReferenceError: MyClass is not defined
現在のコンテキストで定義されていない理由がわかりません。それでは、もう一度インポートしてみましょう。今は JavaScript を使っているので、試してみましょうrequire
:
require("./MyClass")
Uncaught ReferenceError: require is not defined
require
定義されていないのはどうしてですか?- このクラスをデバッグ ウィンドウで使用するにはどうすればよいですか?
これはデバッグ コンソール ウィンドウだけでなく、ウォッチ式ウィンドウやその他のウィンドウにも影響します。