Node.js: dotenvライブラリの利用
このドキュメントはシークレットの管理ガイドの一部です。完全なガイドはこちらからご覧いただけます:Node.jsでシークレットを管理する方法。
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供するNode.jsクラウドソリューションを提供しています。主な利点は以下の通りです:
- シンプルな
git pushで数秒でアプリケーションをデプロイ。- 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受。
- 自動バックアップ、ワンクリックアップデート、そしてシンプルで透明性があり、予測可能な価格設定で安心を提供。
- プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティを実現。
時間を節約し、生活を簡素化:StackheroのNode.jsクラウドホスティングソリューションを試すのに5分しかかかりません!
実際のプロジェクトでは、複数のシークレットを管理する必要があることが多いです。たとえば、データベース接続にはホスト名、ユーザー名、パスワードが必要です。
シークレットが1つだけなら簡単ですが、複数になると管理が煩雑になります。例えば、次のようなコマンドでアプリケーションを起動することを想像してください。
POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com POSTGRESQL_USER=admin POSTGRESQL_PASSWORD=myPassword node app.js
このように変数が増えると、可読性や保守性が低下します。本番環境ではさらに多くの変数が必要になるため、この方法は現実的ではありません。
そこで役立つのがdotenvライブラリです。
dotenvを使えば、シークレットを.envという別ファイルにまとめて管理できます。
まず、dotenvライブラリをインストールします。
npm install dotenv
次に、変数を格納するための.envファイルを作成します。
POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
POSTGRESQL_USER=admin
POSTGRESQL_PASSWORD=myPassword
シークレットを安全に保つため、.envファイルはGitリポジトリに追加しないようにしましょう。.gitignoreファイルに追加します。
echo ".env" >> .gitignore
最後に、app.jsファイルの先頭でdotenvライブラリを読み込みます。
require("dotenv").config();
この構成で、開発環境ではnode app.jsでアプリケーションを起動すると、dotenvが自動的に.envファイルを読み込みます。本番環境では.envファイルは不要で、環境変数はNode.jsサービスの設定から直接取得されます(Stackheroダッシュボードで管理可能)。