TypeScriptでprocess.envを使用する 質問する

TypeScriptでprocess.envを使用する 質問する

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 {}

おすすめ記事