[解決済み] TypeScriptでprocess.envを使用する
2022-05-05 21:59:43
質問
TypeScriptでノードの環境変数を読み込むには?
もし
process.env.NODE_ENV
私はこのエラーを持っている。
Property 'NODE_ENV' does not exist on type 'ProcessEnv'
をインストールしました。
@types/node
が、役に立ちませんでした。
解決方法は?
Nodeのプロセスでどのような(もしあれば)環境変数が利用可能であるかは保証されていません。
NODE_ENV
変数は、Node自体に組み込まれたものではなく、Expressによって普及した慣習に過ぎません。そのため、この変数を型定義に含めることはあまり意味のないことです。その代わりに
を定義しています。
process.env
このように
:
export interface ProcessEnv {
[key: string]: string | undefined
}
ということは
process.env
は、文字列を返すために文字列でインデックスを作成することができます(あるいは
undefined
変数が設定されていない場合)。エラーを修正するには、index構文を使用する必要があります。
let env = process.env["NODE_ENV"];
また、コメントでjcalzさんが指摘しているように、TypeScript 2.2以降であれば、上で定義したようなインデックス可能な型にドット構文でアクセスすることも可能です。
関連
-
[解決済み] TypeScript getting error TS2304: cannot find name ' require'.
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでオブジェクトに動的にプロパティを割り当てるには?
-
[解決済み] JSONオブジェクトをTypeScriptのクラスにキャストする方法を教えてください。
-
[解決済み] TypeScriptのオブジェクトリテラルでの型定義
-
[解決済み] Typescript によるインターフェース型チェック
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み】ENOENT, そのようなファイルまたはディレクトリがありません。
-
[解決済み】Passport.js - エラー: ユーザーのセッションへのシリアライズに失敗しました。
-
[解決済み】AWS lambda function エラー - モジュール 'index' をインポートできません。エラー
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] ExpressJS : res.redirect()が期待通りに動作しない?