dotenvを使って機密情報を安全に管理する
トークンとかの機密情報を安全に管理するためによく環境変数が使われる ただ毎回指定するのは大変だからファイルで管理しようとなり、慣習として.envが使われるようになった
ただそれでも毎回自分で読み込むのは大変だからdotenvというパッケージを使って自動化するのが一般的
一般的ではあるが、一周回って結局ファイルで管理すると感じる人もいて、一部ではjsonなどで管理していることもある
ただ.envというファイルを使うことで「これは機密情報だ」というのが分かるという利点はあるように感じるyuta0801.icon
まず最初にインストールする
npm i dotenv またはyarnを使っている場合はyarn add dotenv
読み込んで実行する
require('dotenv').config()をファイルの最初に書く
code:js
import * as dotenv from 'dotenv'
dotenv.config()
環境変数を使う場所より前ならどこでもいいが、ファイルの先頭に書くのが一般的
.envファイルを書く
code:.env
TOKEN=_MY_SECRET_TOKEN_
1行ごとにラベル=値のように書いていく
Gitを使っている場合は必ず.gitignoreに.envを追記する
初期値で入っていることもあるが、書かれていないとうっかり公開してしまって元も子もなくなる
実際に設定した値を使う
client.login(process.env.TOKEN)のように使える
TOKENの部分がそれぞれのラベルに対応している
他の人のためにサンプルを用意する
他人には公開しない.envファイルだけだと、他人がどんな値が必要なのかわからないのでサンプルを用意する
もちろん.envは機密情報があって公開できないので、.env.exampleのようなファイルに書く
code:.env.example
TOKEN=
.envファイルから値部分を単に取り除くことが多い