5
4

環境変数って? .envファイルって?

Posted at

はじめに

現在Reactとsupabaseで開発を行っているのですが、.envファイルというものが登場してきて環境変数などの周辺の知識が浅いなと思ったのでまとめます

環境変数とは?

まずはみんな大好きWikipedia

環境変数(かんきょうへんすう、英語: environment variable)はオペレーティングシステム (OS) が提供するデータ共有機能の一つ。OS上で動作するタスク(プロセス)がデータを共有するための仕組みである。特にタスクに対して外部からデータを与え、タスクの挙動・設定を変更するために用いる。
Wikipediaより引用

わかるようなわからないような、微妙なラインですね。

簡単にいうなれば、環境変数とはOSがもつグローバル変数という認識でよいかと思います。
linuxなどを使っている方ならコマンドラインで次のコマンドを打つと確認できます。

$ env #$はターミナルにもともと書いてあります。

.envファイルって何?

.envファイルに登録した値を環境変数として設定することが出来ます。

.env
MY_VALUE=123
GREETING="Hello"

nodejsの環境ならば上記の環境変数を以下のように参照することが出来ます。

console.log(process.env.MY_VALUE) // 出力: 123
console.log(process.env,GREETING) //出力: Hello

nodejsでの環境変数

はじめに環境変数をOSがもつグローバルな変数と説明しましたが、nodejsの環境では少し意味が違ってくるようです。

環境変数と名前がついているように、
何かの環境がグローバルにもつ変数という認識に汎用性があるように思います。

nodejsでは、サーバーを立てた時に.envに記述されている変数を環境変数として設定します。nodejsの実行環境にてグローバルに参照できる変数を環境変数と呼ぶらしいです。

.envの使い道

基本的に接頭に.がつくファイルは隠しファイルとなっていて、よりセンシティブ・隠したいものを記述するファイルになっています。envはただの名前です。
現在僕はsupabaseとreactでWEBアプリ開発をしているのですが、supabaseのapiキーなどを管理するために使用します。
apiキーなどが公開されてしまうと多額の請求が飛んでくることがあるのでみなさんもご注意ください!

githubにpushする際はapiキーが公開されないように!!!

終わりに

環境変数への理解が少し深まってよかったです。でもまぁあまり低レイヤーのことで沼らないように気を付けたいと思います(汗

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4