TypeScriptとノードに問題があり、修正につまずきました(Nodeのprocess.envのように、「プロセス」が定義されていないというTSの不満を受け取りました)。私がしなければならなかったのは、ファイルの先頭に1行貼り付けることだけでした。
/// <reference types="node" />
構文がわかりません。 TypeScriptコンパイラはどういうわけかコメントを読んでいますか?これはどのように作動しますか?
これらは「トリプルスラッシュディレクティブ」と呼ばれます (TypeScript docs)
そのリンクの最初の行で述べたように:
トリプルスラッシュディレクティブは、単一のXMLタグを含む単一行のコメントです。コメントの内容はコンパイラ指令として使用されます。
つまり、TypeScriptコンパイラはコンパイル時にこれを取得し、適切なアクションを実行しています。
この場合、types
ディレクティブを使用しているので、このファイルはnode
タイピングに依存していることをコンパイラーに伝えています。
とはいえ、ドキュメントではtypes
ディレクティブについても次のように述べています:
これらのディレクティブは、
d.ts
ファイルを手動で作成する場合にのみ使用してください
したがって、これを.ts
ファイルではなく.d.ts
ファイルに追加した場合、さらに問題が発生する可能性があります。
.tsファイルで@typesパッケージへの依存関係を宣言するには、代わりにコマンドラインまたはtsconfig.jsonで--typesを使用します。詳細については、 tstype.jsonファイルで@ types、typeRoots、typesを使用 を参照してください。