dotenvを使って、envファイルから環境変数を設定しようとした。
以下のようなenvファイルをプロジェクトのルートに作って
KEY1=おはようございます KEY2=こんにちは
以下のような.jsファイルを作って実行しても
require("dotenv").config() console.log(process.env.KEY1); console.log(process.env.KEY2);
実行結果が以下のようにundefined
になる😥😥😥
undefined undefined
なんでだ?と思って30分くらい悩んでしまったんだけど
どうやらenvファイルの名前は.env
じゃないとダメらしい。
例えばhoge.env
とかfoo.env
みたいに.env
の前に文字を付けるとダメらしい。
自分は「プロジェクトのルートにある○○.env
って拡張子が付いているファイルをすべて読み込んでくれるんだな」と勘違いしてました😪
あと今回の件で気づいたんですけど、Windowsって前から拡張子なしのファイルって作れましたっけ・・・?↓。
なんか以前は作れなかったような・・・。
と思って調べてみたらやっぱり同じこと思ってる人いた↓
Windows 、いつの間にかドット ( . ) が頭に来るファイル名をエクスプローラーで作れるようになった。
前はエクスプローラー上だと「ファイル名を入力してください」って怒られるからって、コマンド プロンプトから mv コマンドとか叩いてたのに、、— 青砥ゲートウェイ(KS-09) (@a32kita) December 10, 2020
言い訳じゃないけど、このWindowsの仕様のせいで「ファイル名は何か付けなくてはいけない」って思い込んだ結果、今回の勘違いにつながった気がする。許すまじWindows😠😠😠
おわり
コメント