TypeScript でノード環境変数を読み取るにはどうすればいいですか?
使用するとprocess.env.NODE_ENV
このエラーが発生します:
Property 'NODE_ENV' does not exist on type 'ProcessEnv'
インストールしました@types/node
が、役に立ちませんでした。
ベストアンサー1
@types/node
プロジェクトにインストールしたら、TypeScript に に存在する変数を正確に伝えることができますprocess.env
。
environment.d.ts
declare global {
namespace NodeJS {
interface ProcessEnv {
GITHUB_AUTH_TOKEN: string;
NODE_ENV: 'development' | 'production';
PORT?: string;
PWD: string;
}
}
}
// If this file has no import/export statements (i.e. is a script)
// convert it into a module by adding an empty export statement.
export {}
使用法:
process.env.GITHUB_AUTH_TOKEN; // $ExpectType string
このメソッドは IntelliSense を提供し、文字列リテラル型も活用します。
注: 上記のスニペットはモジュール拡張です。モジュール拡張を含むファイルは、モジュールである必要があります(スクリプトではありません)。モジュールとスクリプトの違いは、モジュールには少なくとも 1 つのインポート/エクスポート ステートメントがあることです。
TypeScript がファイルをモジュールとして扱うようにするには、ファイルに import ステートメントを 1 つ追加するだけです。何でも構いません
export {}
。