LoginSignup
23
12

More than 3 years have passed since last update.

いまさら聞けないprocess.envの基本

Last updated at Posted at 2021-06-27

はじめに

Node.jsでパスワードや環境変数などを扱うとき、process.envを使いますよね。
process.envについてきちんと理解していなかったので整理しました。

環境変数とは

お使いのPCがMac/Linuxの場合、下記bashコマンドでPCの環境変数が見れます。

$ ENV

上記結果と、下記結果は同じものになります。

index.js
console.log(process.env)
$ node index.js

process.envの使い方

dotenvをインストールしたあと、.envファイルを作ってその中に独自の環境変数を宣言することができます。

$ yarn add -D dotenv
.env
TEST_VARIABLE=hello!!!
index.js
require('dotenv').config();
console.log(process.env.TEST_VARIABLE)
$ node index.js
hello!!!

環境変数の上書き

先ほどの.envの中で宣言した環境変数は、下記のように上書きすることができます。

$ TEST_VARIABLE=bye!!! node index.js
bye!!!
$ export TEST_VARIABLE=byebye!!!
$ node index.js
byebye!!!

クライアントサイドでの環境変数

今回説明したのは、当然ながらサーバーサイド、つまり特定された環境下における環境変数の設定方法です。
なので、このやり方ではReactやVueなど、他人のデバイス上でコードが動いているクライアントサイドSPAでの環境変数を設定することはできません。
クライアントサイドで環境変数を指定する方法はもちろん存在しますが、APIのクレデンシャルなど秘匿情報は扱うべきではありません。コードを解析すれば分かってしまうからです。
クレデンシャルを扱うにしても、漏れても良いように権限を絞っておくべきです。
基本的には環境変数はサーバーサイドで扱うことを覚えておきましょう。

23
12
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
23
12