Dotenvが動かなかった → ファイル名を勘違いしていた

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-拡張子だけ。ファイル名なし

なんか以前は作れなかったような・・・。

と思って調べてみたらやっぱり同じこと思ってる人いた↓

言い訳じゃないけど、このWindowsの仕様のせいで「ファイル名は何か付けなくてはいけない」って思い込んだ結果、今回の勘違いにつながった気がする。許すまじWindows😠😠😠

 

おわり

コメント

タイトルとURLをコピーしました