git に登録したくないキー項目を .env ファイルに追いやる
できること
設定系の項目を 環境設定ファイルとして分離する。
git (特に GitHub などで 公開する場合) にうっかり情報漏洩してしまわないための仕組み。という理解。
- ライブラリのライセンスキー
- AWS や GitHub の API キー
等々
dotenv
というライブラリを使用して実現可。
使い方
Google Analytics を例にした
1. dotenv をインストール
bash
npm install dotenv
2. プロジェクト直下に .env
ファイル用意
.env
# Google Analytics トラッキングID
GA_TRACKING_ID=G-XXXXXXXXXX
# AWS
AWS_ACCESS_KEY_ID=XXXXXX
# Wijmo のライセンスキー
WIJMO_LICENSE_KEY=ZZZZZZZZZZZ
...
3. docusaurus.config.ts
側では process.env.<変数名>
のように参照
docusaurus.config.ts
trackingID: process.env.GA_TRACKING_ID || '',
4. .gitignore
に .env
を追加
せっかく追いやったのに、これを コミットしてしまったら意味がないので。
.gitignore
.env
5. チーム開発で使用するなら
自分は1人用プロジェクトとしてしか使用してないので関係ないが、
チーム開発を考えるなら、以下のような対応もしとくと良さそう。
- キーだけれておいた サンプル設定ファイルを用意しておく
- ビルド前に .env の内容が存在するかを確認するチェックを
prebuild
やprestart
に入れておくと、設定漏れに気づきやすい (はず)
.env.example
# Google Analytics トラッキングID (例: G-XXXXXX)
GA_TRACKING_ID=
...