Node.js で環境変数を参照するためのオブジェクト process.env
の型情報は、@types/node
で次のように文字列型ディクショナリ Dict<string>
として定義されています。
この型定義は @types/node
モジュールをインストールするだけで簡単に使用できるようになるのですが、具体的なキー名(環境変数名)が定義されていないので、Visual Studio Code などで process.env
以降の入力補完が効きません。
VS Code 上で環境変数名を補完入力 できるようにするには、次のような型定義ファイル (globals.d.ts
) をソースツリーのルートに作成します。
環境変数 NODE_ENV
の値は、決められた 3 種類の値 (development/production/test) のいずれかであると定義しているので、それ以外の値と比較しようとしたときに警告してくれます。
また、上記の型定義のように TSDoc/JSDoc ドキュメンテーションコメントを記述しておけば、VS Code で入力補完するときにドキュメントを表示してくれます。
ちなみに、このような型情報の追加が可能なのは、TypeScript の interface
定義が後付けで拡張できる (open-ended) という性質を持っているからです。
関連記事
- TypeScriptの型: 既存の JavaScript ライブラリに型情報を追加する(.d.ts ファイル)
- TypeScriptのモジュールのインポートには import を使う
- TypeScriptでモジュールを作成する/インポートする (export, import)
- TypeScriptで名前空間を定義する (namespace)
- TypeScriptの環境: tsc-watch で ts ファイルの変更監視&アプリの再起動を自動化する
- TypeScriptの環境: tsconfig.json の基本
- TypeScriptの環境: 既存の JavaScript プロジェクトを TypeScript に乗り換える