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ダッシュボードで管理可能)。